It's rather simple. Your ISP may have your email address and for some money a lackey at the ISP will walk out with a list or just email it out. Or someone you sent an email to caught a virus or "parasite" and it shared their list with the spammer.
You can't stop it as it stands today.
Bob
Hi All,
While I am at work, I check my home email via the home page of my server. They have organised a spam filter but an occasional few manage to pass it.
My question is - how do these people manage to locate my email address? I have signed up with some things like newsletters and such of interest and at same time I try not to disclose the email address, yet at times unavoidable.
Also, I know this email is a spam and passed the filter but I managed to have a look and it says something about me signing up at some account for such a price and a notification email would be sent within 24 hours - this is now getting a bit much!!!
Is there anything that can be done, apart from a spam filter that can stop others having access to my email and sending me unsolicited junk? Some of these emails do not have my address on them and still end up in my inbox.
Would appreciate any information to understand what I am dealing with here so I know how spam works and to prevent the unauthorised access to my email address.

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic