A router is a a router irrespective of size or cost. It's a box designed to take a packet in on an interface and forward it out of the appropriate interface towards its destination.
Configuring (rather than programming) a router is not difficult. The difficult part is understanding exactly what you want the router to do. In simple terms making a router work for you involves doing the following.
1. Identify the interfaces you want to use.
2. Identify the protocols you want to use.
3. For each protocol configure an appropriate address on each identified interface.
4. Chose your method for updating routing information within each protocol.
5. Configure the methods of updating routing information.
There are many other things that routers can do, and there are different methods of making them do it. IOS is popular because there are many cisco routers around and if you know IOS a router can be configured and got working VERY quickly. Other methods can be more cumbersome. For example Wellfleet routers (now Nortel) used to use a menu system. It was simple but it took a while to get anything done because you had to go up and down menus to configure each option. You could only go up or down one menu level at a time. They decided to get rid of this configuration method and moved to a bespoke GUI. This would have been quicker except that the GUI program you used had to match the version of the code on the router. Wellfleet said that the latest versions were backwards compatible, in the field this was a lie. Thus on your PC or UNIX workstation you needed 4/5 or 6 different versions of the GUI config program, finding the right one took time and then praying for it to work properly increased the time to complete the task.
3Com had a command line and a menu system. The menus didn't allow for access to all configuration options and the command line made Swaheli look comprehensible to someone who only understands English.
Web servers in routers are a pain. Are they secure? Do they give you access to all configuration options? How much CPU do they use up?
Almost all of the router jockeys I know prefer to use the CLI. It's quicker to configure. It gives you faster access to the information you want to see when you're troubleshooting and nowadays it's becoming more consistent.
IOS look-a-like CLI's are being used by many manufacturers now. The only big dissenter is Juniper and they get away with it by having something which is MUCH better than IOS and thus worth learning.
Sorry to ramble on.