spam is generated via programs and sent to mailing lists, usually 1000's at a time. Some spam emails installs spyware/phishing/keylogging viruses, some is just useless links to paysites and other dodgy stuff, some spam is corporate stuff, like if you sign up to download some software and you get bombarded by advertisements for other products.
I had a littlewoods account and they must have sold my email address to other compaines as i got numerous emails from argos, carpet and window firms, and at the bottom in a little disclaimer is explained that my information was shared by littlewoods.
i use a program called 10 minute mail
http://10minutemail.com/10MinuteMail/index.html its totally free, this generates a mailbox and email address for you that stays open for 10minutes so you can register for software etc, retrieve the link and then the email address is deleted after 10 minutes.
or you could just have a spare aol/gmail account for signing up to rubbish to save your inbox.