I was asked by a friend to help set up their 'new computer' and while I was doing so I discovered that they had taken the computer to a local (reputable) PC shop, and they had said the hard disk was done, and replaced it. They also said that there was no data left on the disk to recover, so all was lost.
I got the disk, and got to work on it. Sure enough, plugging the disk in showed an empty, newly formatted volume. I spent an evening downloading quite a few free data recovery tools, and ended up getting the best results from "TestDisk".
After a couple of tries, I was able to set the software to only bother about image files (otherwise you recover txt, dll etc that I really don't care about)
You could see it stall as it got to the bad sectors on the disk, but it kept spitting out files, thousands of them, mostly internet explorer cache images. It ran for a good few hours, I let it run overnight. I then filtered the images by dimensions (most of the cache images were thumbnail size). This left me with 700 image files, some of which I knew were of interest, others obviously came with the PC.
I used the unix (cygwin) exif command in a script to move all the files into folders based on the camera that took them, and subfolders named by the date taken. This should help the user to reorganise them, when they get them back.
I would heartily recommend this tool, its not very beautiful looking, but it is quite easy to use, and very effective.