The answer is somewhat subjective, and depends largely on the user/s.
Do you want absolute security, ease of use, low resource usage, excellent logging ability, zero conflictions with other programs, low (or zero) price etc? Does the user visit some sites or use applications which would be considered "risky" ? eg p2p, porn, untested downloads, clicking on "any old link that pops up" etc, or is it mainly used for emailing friends? Is it used for online banking, or purchases using a credit card? What is the level of expertise of the user? Ie, will they know how to respond to pop-ups asking for permission for an application to connect?
Don't want to make this sound more tricky than it needs to be, but these q's are worthwhile considering.
Some names that crop up include Comodo, Kerio, ZoneAlarm, Jetico.
I'm by no means a knowledgeable user, but finding Comodo very good, and haven't had any parasites on the computer recently. It scores very well in leaktests, which is something to go on, but doesn't necessarily reveal all vulnerabilities or potential problems.
It works well with Avast (and my other applications) on this computer - some users have reported issues, the claim is that these have been resolved with the latest comodo update (version 2.4, I believe. I'm waiting to see some reviews before updating.)
Final analysis: What do you require of your firewall?