I've been running DD-WRT at home for well over three years on a couple different Linksys WRT54G's. The features I like:
OpenVPN server or client. When I was with a previous company, I had it set up to connect to the work OpenVPN. I've also set it up as a server so I can access anything on my home LAN.
Bridging the wifi to the LAN, aka Wireless Bridge. Clients on the wireless are on the same subnet as the rest of the LAN, meaning no crazy DNS or NAT tricks to talk seamlessly between systems. This means you can do cool things like multi-MAC IP assignments, so clients that are sometimes wireless, sometimes wired can have the same IP (with an external DHCP server).
Administration interface is easier to navigate than the stock Linksys firmware.
Port forwarding knows no bounds. The default FW on both my Linksys WAPs could only do something like 10 or 12 port forwards. I need more than that for gaming and for work purposes.
Status pages with data pr0n. The sys-info default page is nice with useful information. The real-time graphs on the bandwidth page are excellent.
It feels (and is :-)) more feature-complete than the stock firmware, at least on Linksys devices.
You can pass additional commands to the system shell directly, further customizing beyond even DD-WRT's extensive capabilities.
You can get a version of Tomato that has a more recent version of pppd, allowing MLPPP so you can bind several DSL lines. Or you can use it over just one line to evade Bell Nexxia's traffic shaping.
The biggest reason I flashed my router was because the default limit of 512 open sockets on the WRT54G is too little. If you have a couple torrents going your router will easily lock up after 24 hours. Upping that to 4096 seems to have fixed things.
I also got a lot of use out of the wireless bridge feature to connect my entertainment centre to wifi for $40, rather than $80 per device.
Others have mentioned the main features, so here are some of the more esoteric ones:
Run multiple SSIDs, each with their own routing and firewall rules.
SSH server built in. You can log into your router from the Internet, then log in to your home machines.
Speaking of SSH, it supports port forwarding.
Split the LAN ports on the back and the wireless LAN into (up to) five distinct LANs, each with their own subnets, DHCPd, routing, and firewall rules.
On some models, boost the power output of the wireless radio up to the legal maximum (250 mW).
Run a public hotspot using the built-in Chillispot, Sputnik, and Wifidog software. Optionally display ads to hotspot users.
RADIUS authentication.
QoS bandwidth limiting, configurable on a per-protocol basis. Some versions of dd-wrt include gaming accelerators.
True VLANs, with tagging.
Ethernet-over-IP tunneling.
Wake-on-LAN. It automatically maintains a database of MAC addresses it knows about. Click a button to wake up that machine.
Built-in lookup of MAC address manufacturers. Just click on any MAC address you see in the GUI and it'll show you who made that network card.
There's more...much more. I buy and recommend routers based on whether I can install dd-wrt on them.
You can setup the router to be a wireless bridge.
I've been running DD-WRT at home for well over three years on a couple different Linksys WRT54G's. The features I like:
OpenVPN server or client. When I was with a previous company, I had it set up to connect to the work OpenVPN. I've also set it up as a server so I can access anything on my home LAN.
Bridging the wifi to the LAN, aka Wireless Bridge. Clients on the wireless are on the same subnet as the rest of the LAN, meaning no crazy DNS or NAT tricks to talk seamlessly between systems. This means you can do cool things like multi-MAC IP assignments, so clients that are sometimes wireless, sometimes wired can have the same IP (with an external DHCP server).
Administration interface is easier to navigate than the stock Linksys firmware.
Port forwarding knows no bounds. The default FW on both my Linksys WAPs could only do something like 10 or 12 port forwards. I need more than that for gaming and for work purposes.
Status pages with data pr0n. The sys-info default page is nice with useful information. The real-time graphs on the bandwidth page are excellent.
It feels (and is :-)) more feature-complete than the stock firmware, at least on Linksys devices.
You can pass additional commands to the system shell directly, further customizing beyond even DD-WRT's extensive capabilities.
I like the VPN feature. Simplest cheapest VPN solution I've found.
biggest feature I've noticed.
you don't run out of port forwards
For us it was the bandwidth monitoring tools. Tomato actually seems to have a nicer set of reports, but DD-WRT seems to be more full featured.
You can get a version of Tomato that has a more recent version of pppd, allowing MLPPP so you can bind several DSL lines. Or you can use it over just one line to evade Bell Nexxia's traffic shaping.
The biggest reason I flashed my router was because the default limit of 512 open sockets on the WRT54G is too little. If you have a couple torrents going your router will easily lock up after 24 hours. Upping that to 4096 seems to have fixed things.
I also got a lot of use out of the wireless bridge feature to connect my entertainment centre to wifi for $40, rather than $80 per device.