Yes, zonealarm is definitely worth it.
It can be a bit annoying at the start, as everytime a program tries to access the net it asks 'do you want to allow this program to access the internet'. Then you can select 'yes', 'no' and it will remember what you said, and not ask you again.
Sometimes this means you can get booted out of games and back to the desktop if they try and access the internet, but you just select 'yes' or 'no' and it remembers for next time.
It makes you realise how much windows and almost all games (and some apps) try to access the net..... not sure why some of them need to, though