It's a little known fact that the fimware on Linksys routers is open-source. In fact, the operating system on WRT54G's version 4 and below is Linux. Some time ago, people took advantage of this and made their own replacement firmware images for their routers. Once the non-Linux version 5 routers were released, Cisco saw the demand for a Linux version again and released the WRT54GL, so that third-party firmware could be used again.
One of these alternative firmwares is Tomato. It, like many other 3rd-party firmwares, allows for a wide range of additional features over the stock firmware of most Linksys and Buffalo routers, such as full QoS (Quality of Service) control, static DHCP, and the ability to use your router in different environments and boost the power.
If you are interested in using Tomato on your router, first check to see if your router is compatible and then follow the instructions on their web site. If you are not careful, you could brick your router.
The main feature that makes Tomato different from other third-party firmwares is the AJAX interface. Almost every setting can be applied without having to reload the page. It also takes advantage of SVG support in most browsers for nice bandwidth graphs.
Instead of the QoS on the stock Linksys firmware, which is limited to 2 usable entries, Tomato's QoS allows for fine-grained control of as many devices you need. For example, gaming consoles can have higher priority than other devices to have guaranteed bandwidth on your network.
If you like to control who does what on your network, access restrictions are for you. L7 and IPP2P allow you to block or allow almost every protocol in existience.
There are a ton of other features in Tomato that are too in-depth to go into here. If you find you don't like Tomato or think it doesn't have enough features, you could also try DD-WRT, which allows every feature ever dreamed of and then some.
If you're looking for an alternative to your default router, give it a try.