Recuva (they pronounce it "recover") is a free utility that can be run from a USB drive or installed on a system. It's easy to use and has options to pick the type of file (pictures, email, music, documents, etc.) and file locations - or just show all undeletable files on a specific drive. [more]
There is a deep scan option, but if this is necessary, it may be difficult to restore the files.
This is a good way to restore files that may have been accidently deleted or files that have disappeared because of disk errors. It may be a good thing to use in combination with SpinRite (not free, but a very useful utility when disk hardware errors occur).