For basic undelete jobs, I tend to point people to Recuva. It's from the same company as CCleaner and Speccy.
For heavy-duty recovery efforts, I recommend PhotoRec. PhotoRec is free (GPL) and can be run either from the running OS or from a LiveCD. It supports FAT, NTFS, EXT2/EXT3, and HFS+ filesystems and can recover files even if the filesystem has suffered damage. There are builds for Windows, Linux, Mac OS *BSD, SunOS, and MS-DOS.
A related tool from the same developer is TestDisk, which can recover damaged partition tables and other low-level disk-related structures. The developer recommends using TestDisk to recover files from NTFS and FAT partitions since TestDisk can usually also recover the original filenames.