DD-WRT, Open WRT , Tomato or Third-party firmware projects ?
What are the compelling reasons to choose between these?
I used to be a great DD-WRT fan until I realized that the author was deceiving users by publishing it as a OSS, but made it very cumbersome to download the source and change it (requires you to download GB’s of source files) .Also their bandwidth monitoring feature was part of the paid version, which IMHO is a killer. Having said that, DD-WRT just worked. And I think that’s great..
I was a DD-WRT user until I saw the interface of Tomato, and then I switched. I made the decision based on management ease-of-use. In particular, I thought Tomato's QoS setup was a lot easier than DD-WRT's. Other reasons to choose might be the number of services/apps that have been ported to each distribution if you want to do more than just routing/wireless access.
Here's a review of Tomato (a bit dated do) to help you make your decision:
There's a mention of DD-WRT at the end. Also make sure to read the comments.
You may be easily swayed towards dd-wrt after seeing tomato's supported device list. Contrast that with dd-wrt's list.
Personnaly, for the above reason, I never tried or plan to try tomato and have been using dd-wrt for a while. Some negative points you should be aware with dd-wrt:
On the plus side, if you're a tinkerer (and you are if you're playing with firmware) there are very frequent updates posted on the forum that may fix glitches you're having, improve performance dramatically, or even BRICK your router without warning.
I have tried using both, and found that WDS seemed to be more reliable on my hardware with dd-wrt when I compared the two. I didn't do any investigation to figure out why, at the time I just wanted something that worked.