Several of you are missing the point ....
Hard drives have MULTIPLE LEVELS of both ERROR CORRECTION and ERROR DETECTION.
Is data corruption possible? ABSOLUTELY. Happens all the time, for all kinds of reasons.
But "SILENT" data corruption ... in which a hard drive says that it correctly returned the same data that was written when, in fact, it did not ... is the one thing that should never .... NEVER .... happen. And MUST NOT happen. Sure, hard drives fail, and systems have to be designed to recover from that. But when they do, they have to report that they failed. They MUST NOT report that they successfully retrieved the correct data while, in fact, returning data different than the data which was written.
Keep in mind where hard drives are used: In spacecraft, in airliners making zero-visibility approaches at 200 knots in storms at night, in nuclear power plants, in Cancer radiation machines. And, presumably, in nuclear weapons and their delivery systems. Among other places. Failures are expected and the system designers do what is required in order to deal with those (including multiple drives, multiple computers, "voting" amount multiple computers, etc.).
But the ONE thing that a hard drive is not allowed to do is to actually fail but report success. And through MULTIPLE mechanisms built into them .... they don't. EVER, as a practical matter.
[Ok, sure, you can't make the possibility of that truly, absolutely zero, but the multiple layers of both error correction and error detection make the probability of that happening so statistically remote that for all normal purposes (and even a lot of not-so-normal purposes) it can be ignored. And certainly in this case, where the user is having a systemic, reproducible problem across not one file but many, many files ..... drive failure is simply not what is going on here. The cause, whatever it is, is "something else".]