Well, it depends if you are asking free firewall or payed firewall.
In general, the best firewall is the user. Meaning if you ahve a firewall, and you keep an eye out on what programs you allow and wich you dont.
I use Zone Alarm, and while its not best, its better than win7 firewall and its free. I just need to keep an eye out for possible programs trying to get in.