I find the spam filters in google mail very effective - the spam folder fills up but very little rubbish gets into the inbox. Fastmail.fm also has reasonable spam filters.
The key to avoiding spam is never to give your email address to any even remotely dodgy site or where it will appear on the web, eg a forum. I keep a couple of email addresses just for using where it's likely to be picked up by spammers, and use a "clean" one for personal correspondence.
My work email was spam-free for years and years, until I wrote a couple of bylined articles recently that went on the work website .... and bingo, spam city.