Its pretty easy to prevent spam if you do what I do :)
Do the following:
1) If your main email is getting spammed today, then first off get a new one and notify everyone your email has changed. If you are signing up for a free web email then I recommend http://mail.aol.com (I think its the best webmail, I've tried yahoo email and hotmail and I think AOL has the best webmail. You can also use their client software to read email to if you wish instead of the browser but thats up to you).
2) Never give out your email above to anyone except friends! This is your private email, so keep it private, never use it on messageboards or forums, never use it for online ordering, etc.
3) Now get a free alternate email that will be used for everything except your private email. Again I would just get a free user name at http://mail.aol.com
4) Now anytime you order online, signup for anything, etc., you ALWAYS use the email. Let it fill up with spam because you never check it anyways. The only time you will read that email is to check for ordering confirmation or receipts etc.
Now your private email stays private because only your friends know it.
Here is another thing I really like about AOL's free webmail, it not only has the best spam guard but also has features that you can set so "only the email list entered can email you". This will guarantee no spam, but typically you dont need that option if using the method above.