When you sign up for Facebook, it suggests you give it your email login details (e.g hotmail, gmail, yahoo mail) to "help you connect". Of course once you've given them to FB it rifles through your contacts. Those it already knows about, it just adds to your network. Those it doesn't it notes, and then spams the hell out of. I know this, because I have copies of every mail I have received, and can correlate emails from FB with when a friend signed up.
(Incidentally, people need to be beware this behaviour. There was a case a while back where a guy signed up to FB, Naively gave his email login, at which point FB spammed his ex, who had a no-contact order. She went to court, and he was found guilty of breaching it. The judge ruled ignorance of FBs behaviour was no excuse.)
Of course anyone who gives anyone/thing the login details for their email deserves all they get. Especially as it's against the T&Cs of most online services. (I am always surprised when people claim to have handed over their FB login details to their employer. If I asked an employee for their FB login, and they gave them to me, I'd sack them for being so clueless about information security)
As I said upthread, even if you aren't "on FB", it knows who you are. It knows there is a "you shaped hole" in it's knowledge. It can probably have a good stab at guessing your tastes, lifestyle, and location. Just from cross-checking your email address with the contacts it has. Don't forget this could include any companies you have done business with, and given an email address to.
I love the number of people protesting that "no one knows my email". It does rather beg the question of what they use it for.