The best way to avoid spam is to have one account which you use to email your friends or colleagues, but not for anything else, generally something via your ISP. Never use it to sign up for websites or forums or e-mail lists, or to shop online. Some places share their collection of e-mail addresses with advertisers and/or spammers. Also, never publicly post your main e-mail address on a web page or in a message board thread. There are tons of filtering programs out there that pull e-mail addys right out of the text it finds.
Instead, use a generic e-mail provider like Yahoo, GMail, or Hotmail for stuff where you don't care whether or not they have your e-mail address. Most of those places have good spam filters and you can just go straight ahead and delete them all without worrying that you accidentally deleted a message you were waiting for from a friend.
I've been doing this for several years, and my "main" account only gets advertisements from the ISP itself.