On the contrary.. there are quite a few good free data recovery programs.
One of which, photorec based off of testdisk works wonders.
TestDisk - Wikipedia, the free encyclopedia
PhotoRec - Wikipedia, the free encyclopedia
PhotoRec - CGSecurity
Been using it for a couple of years now on both flash as well as regular hd formats.
Key trick is to make an immediate image of the drive to be recovered into a drive that can be written.. ie, only read from the drive you intend to recover, make an image of it ( which testdisk should help you do, if not then read up on data/disk imaging softwares or tools such as DD ) and then don't touch it.
Having had bad luck with data in the past, now it can be proudly stated that over 200gb in 4 disk-span so far, to date has been recovered. Just takes patience. Even had to do tricks with dying harddrives and frozen icepacks, and it worked wonderfully.