Ddrescue is software tool used for data recovery. Ddrescue will copy data from one device such as a hard drive or cdrom, to another device (internal or external) and tries to rescue data in case of read errors. It is available as a stand-alone bootable cd or as part of a multi-boot/recovery distro package such as SystemRescueCd. Ddrescue is licensed under the GNU general public license and is completely free to use.
Ddrescue is quite a powerful recovery tool that can recover data in spite of bad sectors and disk errors. You can stop and resume its activity at any time as the logfile will keep track of progress and reduce redundant scanning, making to process very efficient. It can also merge multiple damaged copies of a file or disk to enhance the chances of 100% recovery.
This means that if you have two or more copies of a cd or hard drive, and all the copies are damaged to some extent, Ddrescue will be able to piece together the good data from each copy, resulting in a more complete recovery. When you run it on the same output file, it tries to fill in the gaps without wiping out the data already rescued.
In general Ddrescue is a great tool to have when dealing with files, hard drives, or cd-roms that are damaged or have lost data.