Interesting product, HDD Regenerator, in your link. I see it uses a unique technique to read remnants of old data. The software claims that about 60% of "Bad Sectors" can be re-read properly, thus restoring the original data. That seems reasonable to me. A lot of "Bad Sectors" in fact merely contain one or more corrupted bits that often are really just bits recorded with weak magnetic signals; hence I can accept that such flaws can be read correctly with advanced techniques.
Of course, sometimes the corruption is so severe that even these advanced techniques can't succeed. Additionally, there are other causes of failure (such as a "head crash" that physically damages the magnetic film) that would defy data recovery. So 60% success seems a reasonable claim. And that's a LOT better than 0%!
Modern HDD's have their own built-in mechanisms to deal with errors. These processes are not apparent to the Operating System since they run internally in the HDD on its own processor system. In outline, every time a Sector is read, the HDD's system makes an assessment of the quality of the signals. All OK, then just continue on. If there's an error in the data (checksum techniques or whatever used) the system tries to recover good data from the Sector. I don't know exactly how - one method is re-reading several times and getting an average, but I'm sure there are others. If this succeeds in retrieving all good data, it is written to a new known-good Sector from the unit's spares list and the "bad" sector thus identified is marked in the HDD's own files never to be used. Even if the data are OK but the system judges the signal strength to be too weak, it will take those measures as a preventive step. Then the data are sent out to the OS that requested them, with NO flag that any of this was necessary. But the HDD system also keeps track of how often this repair was needed as part of its SMART system. Among other tasks, that system eventually will exceed its limit and send out a SMART warning of high error count. The user's best choice when that happens is to replace the HDD while it is still able to deliver all of its data un-corrupted.
If the HDD's internal operations cannot recover good data from the faulty Sector, it still replaces it, but in this case the data in the replacement Sector is known to be corrupted. So it DOES tell the OS that requested the data that there was a Read Error and the data are "Bad". THIS is when Windows (or other OS) recognizes it has found a "Bad Sector" and does its own thing about never using that spot again. But Windows itself has NO tools for trying to recover good data from a "Bad Sector", other than asking the HDD to re-try the Read operation a few times and hoping it succeeds.
So the HDD unit itself has ways to detect and "fix" a Bad Sector. The "fix" does not repair that Sector. It works hard to retrieve the original data un-corrupted from there and then writes it to a new reliable Sector. This can take care of many errors and save data from weak areas of the HDD even though you and your OS don't even see it happening. But by the time Windows reports a "Bad Sector" containing corrupted data, these processes already have been applied and failed. Recovering data from such a situation requires different techniques, perhaps like those of the HDD Regenerator software.