Alot of it is the way the environment handles the file system, and the ACLs or the hard drive.
Windows is going to do everything it can on its own to obey its ACLs, and sectors marked as bad or empty. So NTFS or Fat partitions created and maintained in Windows as well as Windows MBRs will be handled by Windows as Windows marked it.
Also, if the drive is failing the more you use it the more likely it is to encounter a major problem and the environment will crash. Then how the OS handles that comes into play, Windows will BSOD or reboot, the windows boot process will throw MBR messages, missing file messages (NTDLR.dll is missing or corrupt) and stop, because these bad files are required.
When you use a live disk, you are not relying on any of this. A bad MBR is bypassed because you boot off of the disk. A bad sector that corrupted the NTDLR.dll is not needed. Everything is on the disk. You can then attempt a read. If it encounters a 'blank' sector or bad bit, that environment handles it however it was programmed to do. Ubuntu likely would rather maintain normal OS behaviors and continue on with what is most likely to be happening. The sector is blank, do something else. That sector is bad, stay away, do not read again do not write or it will cause problems.
A recovery platform however, is going to want to read all data. The file markers say the file should be on 0,5, 13.... if the filesystem reports 13 is missing, ignore the blank header and read the file anyway, or read the bad sector as best as it can and try to recover.
Also, Windows CAN do alot of this with third party applications, Recuva can find alot of these "missing" files, for one. But you don't want to be in an environment that may write back to the disk and cause true permanent loss.
I did simplify this, and add some interpretation, but it should fill in some blanks for what you are asking.