GetDataBack and Recuva are great utilities. Remember that the more you use the drive the less likely you are to recover the data. Just booting the drive will overwrite sectors.
Hey, Brian did a video back using a free tool called testdisk. Testdisk is an open source program that has helped me recover partitions and data sometimes.
Here's his video:
The other ones mentioned already are shareware versions. You have to pay for them for full functionality. They have limited functionality for free use. They are good at what they do.