Здравствуйте. Существует в основном две разновидности программ для восстановления данных - для восстановления данных с исправных носителей с поврежденной файловой системой и для восстановления доступа к данным на поврежденных носителях. Можно выделить еще программы для восстановления данных с дисковых массивов RAID.
Существую так же комбинированные программы, но они в основном привязаны к железу дабы их невозможно было скачать и пользоваться не заплатив. Если носитель исправен - зная как работает та файловая система которая используется на данном носителе - можно восстанавливать данные хоть обычным дисковым редактором, например Winhex. Но в файловых системах мало кто сейчас детально разбирается, поэтому существует масса программ для автоматического восстановления данных с различных поврежденных файловых систем и для восстановления файлов без учета файловой системы по сигнатурам. Эти программы в основном похожи но результат восстановления может различаться при восстановлении одного и того же диска разными программами. При чем на одном диске одна программа может дать хороший результат по сравнению с другими а на другом диске - совсем другая. Одна из адекватных программ - R-Studio в типовых случаях восстанавливает данные довольно сносно.
Для работы с неисправными носителями применяются другие вещи. Существует несколько разновидностей программно-аппаратных комплексов предназначенных для восстановления с неисправных носителей - которые не определяются в биосе, с нечитаемыми секторами, с жестких дисков с поврежденными головками, с ссд с поврежденной микропрограммой или транслятором. Наиболее адекватно на сегодняшний день с неисправными носителями работает Ростовский комплекс PC300 от Асеlab.