I wove for Sygate personal firewall (http://smb.sygate.com/products/spf_standard.htm) because I had some troubles with ZoneAlarm.
First the ZoneAlarm problem. I had it in my winXP for about a year or so.
My XP is a totally legally one, come with the computer (home version, Finnish language ed?tion, I know, it's ugly ) and it got funny symptom: files could not be transferred from XP to another, because computers in the same LAN just did not show in the local area network.
The problem was not directly ZoneAlarm related (because it remained even when I killed all the ZoneAlarm processes, hence leaving the machine without firewall) but still, when I uninstalled the ZoneAlarm the network neighbourhood started functioning normally! And for a bonus my computer's boot up time shortened -- or should I say recovered back to normal.
I predict there was some fishy in the combination of the network stacks of the winXP home edition + ZoneAlarm's automatic update. Something kept accumulating to the stacks and those got bloated. I have heard that XP professional + ZoneAlarm combination works perfectly, I do not know.
Then I switched to Sygate. I have to say that it is as easy to use as ZoneAlarm, but it eats less process power, has better log files and a fancy "backtrace" property that allows you to find out who is doing that port scan attack at you.
I have now installed Sygate to my old win98 as well and it's working nicely -- the version 5.5 is, I have to say. There actually was some trouble with 5.6 in win98 but it was more a cosmetic one. Everything is said to be fixed in version 5.7.
Or so they say. I do not know if there really is a free lunch in this world.