For home user it is very hard to decide. All "firewall company" claims that their product is the best and offer something unique and extraordinary. We think that as personal firewalls are security software , a program in fact, the main criterion should be the level(high if possible) of security. Forget all those bells and whistles in security software. If you want Adware blocking you do not need personal firewall because your browser( Firefox, Netscape, Opera) can do it. There are plugins for the most popular browser that can block or limit ads, popups etc. Today's personal firewalls contain similar features that have nothing to do with the security. Just go to your favourite personal firewall vendor's website and read carefuly all the features of their products.
A good personal firewall offers both : inbound and outbound traffic protection. The inbound protection means that packets sent from the web, local area network or intranet to your computer are filtered and only ports that you want to be open are accessible. This kind of protection is standard and is very good and reliable in almost all personal firewalls. On the other hand is the outbound protection which cause problems to all vendors today.
The outbound protection means that only applications that users allowed can access the Internet or local area network. This is not as simple as it looks. Imagine the situation that you want to browse the Internet with your browser and that you do not want other applications to do so. The problem here is that it is not enough only to check which programs wants to send the packet to the web because modern operating systems allows programs to communicate. An application that is not allowed to access the Internet can start the web browser and use it to send or recieve packet. Your firewall program has to protect all those privileged applications against misusing by malware. It has to restrict the access them. But this is still not enough. The personal firewall has to psecure itself. Malicious applications should not be able to switch it off or modify its rules.
This means that it also has to protect system resources etc. There are a few problems in this and we still talk only about one feature - the outbound protection. The firewall should also restrict spying on your PC and stealing or damage your data. Also the possibility of deleting or replacing important system files, killing system processes should be restricted because these activity can be used to bypass the protection. What you should ask from your personal firewall is a comprehensive protection against malicious activity.