CD-ROM disc has very few error backup bits, as compare to DVD-ROM. That's why if you have scratch CD-ROM then it's very unlikely you can read it properly (it's sometime possible to read lightly scratch DVD-ROM). What is lost, is ever lost.
For data CD/DVD, I use ImgBurn and Alcohol 120%. I also had used Nero. Both do their job. They are general purpose software. They are not specially design to extract data from damage disc. But they can try. If you are not satisfied then you can try specialized softwares for sole purpose.
Moreover, it is also depended on your Drive too. Some drives can read scratched discs better than other drives.
By the way, did you tried cleaning your CD-ROM disc? It also helps.