My preferences are already known, but as you asked:
For a free firewall: ZA, Outpost and Sygate. Maybe: Kerio.
For a paid firewall: Outopost
In my mind come a lot of reasons: stability, updates, reliability, configuration issues, features, GUI, etc...