About 2 months ago, I switched the firmware on my router from the stock Linksys to Tomato, an open source, Linux-based router project.
The results have been fantastic. I had been having trouble where once or twice a week I would have to reboot the router to get it to work properly. Tomato has an option to reboot itself--I set it to reboot every morning at 4am, and I have not had to reboot it manually since. I don't know if it is necessary, or if Tomato is just more stable on its own, but it works and doesn't bother me so I'll leave it.
Quality of Service (QoS) is a router feature that allows different priorities for different types of internet use, and keeps one use from blocking others. I didn't bother setting up QoS when I first installed Tomato, but this morning my internet was very slow because my wife is using Bittorent. I logged on the router, checked the "enable QoS" checkbox and then the Save button. Took about 30 seconds. Web browsing speeded up dramatically, with no noticeable change in Bittorrent. The default settings appear to work very well here, although other sources say that they can be vastly improved. They give priority to the most common web usage, while giving Bittorrent and similar whatever is left-sort of like a traffic cop giving top priority to ambulances, and making sure that semi trucks leave plenty of room for regular cars.
So the end result is more useful features, more stability without sacrificing ease of us or requiring a steep learning curve. I'm very pleased.