Firstly I should stress I'm no expert on sockets and processors myself - in the end it comes down to knowing that x processor uses y socket. How you determine this is often in the spec of the processor itself. A couple of years ago when I wanted to upgrade my processor, motherboard and memory I soon discovered only Socket A boards were good for the Athlon XP I was going to use.
I've just found this article here; http://www.techsupportalert.com/pdf/t1053.pdf.
If you can skip through the jargon it tells you what processors used/use which sockets. However I must be fairly old as I don't think it includes today's P4s and Athlon XPs and 64s.
This article here
describes the Athlon 64s. It seems the Athlon 64 uses Socket 745 while the Athlon 64 FX uses Socket 940.
Do you know off-hand whether you're more interested in Intel or AMD processors?