The way I understand it is that a geek is someone who has extensive knowledge about a specific area...
A nerd is someone who likes to know a bit about everything. A nerd would have more knowledge about a greater range of things, but could never touch the geek in his designated area.
A dork is someone who has all the fashion and social skills of geeks and nerds, but doesn't have the high level of knowledge or the dedication to pursue such knowledge.