I've used all three to different extents.
BlackICE doesn't do much in informing the user WTF is going on. I had to track down a proggie called ClearICE that would create better logs of activity. It did something funky to my system (was a year ago, can't remeber the details) so I ditched it.
ZoneAlarm came highly recommended and I HATED IT!:| It blocked ICQ, AIM, GameSpy and my browsers!:|:| I wasn't in the mood to have to explain EVERY stupid little thing to it, so buh-bye it went.
I'm currently using Norton (Family Edition) and I like it a lot. It tells you what kind of attacks are being made (i.e. SubSeven Trojan, etc.), comes with banner ad blocking, and if you have kids, will block pr0n sites. (This is turned OFF on my rig.

) It automatically configures apps as they pop up needing to be cleared thru and has a big database of programs already included, so that online games, browsers, IM clients work right out of the box. Cool.
I'm not saying that Norton is the best (it's waaaaaaay overpriced, a $20-$30 program saddled with a $70 ticket, not that I...well, nevermind...) app out there, just what worked for my needs.
If you have a home network on an always-on broadband connection, you'd be better off getting a hardware router/firewall anyways.