A Nerd is someone who is passionate about learning/being smart/academia. A Geek is someone who is passionate about some particular area or subject, often an obscure or difficult one. A Dork is someone ...
As for the difference between nerds/geeks/etc, I recall one Simpson's episode where Milhouse says something along the lines of "I'm not a nerd Bart, nerds are smart" Overall, I'd agree with Vampyre's ...