One time, I got a bit crazy taking pictures and reformatted the disk (with some "critical" pictures on it of course). At the time I searched all over for a cheap file recovery program to recover these. I found one and happily paid the $30+ price tag to get back 95% of my files. I believe another programmer (who has more time) must have had the same thing happen, because there is now an open source file recovery app named "PhotoRec".
Since deleted data isn't really deleted - but rather the "record" of its being on the platter is erased, it is possible to read the platter bit-by-bit to reconstruct the data that is present-but-not-"assigned" to a file or structure. That's what these programs do. But wait - since the "master record" of the file is missing, set back and get comfy, because the program has to not only read the platter(s) bit-by-bit, but also figure out where the file starts and ends!
http://www.cgsecurity.org/wiki/PhotoRec