I dunno...
I think Seagate got bit pretty hard on a firmware bug that caused head crashes over time, but this could have been at any capacity, just happened to be at 3TB with a drive that was very competitively priced... dumb luck maybe - again, it's something that didn't fail during DVT, but over time.. and time, while folks try to simulate it during testing, it's not quite the same.
Much like the Takata Air Bag problem - where again, it was over time, years later...
Well, I think part of the issues in both cases are that some things you cannot simulate in testing.
You can attempt to "advance age" things. For example, doing constant load/unload testing on a drive. Doing others with constant writes. Others constant reads. Do max IOPS, etc. and hammer on the test drives for months, see how many failures you get, do the math and say what the MTBF is going to be, package it up and sell the drives. Possibly with some design or firmware tweaking in there if you find real issues. However, that isn't necessarily the same thing as actually RUNNING the drives 24x7x365 for a year, or two or three. Realistically there is only so long you can test something before you have to crap or get off the pot.
Just like the software validation testing I used to be involved in. We had a team of about a dozen folks putting in a lot of hours testing our stuff. We racked up on average about 5-6 work years worth of validation work on our applications before we'd open it to the public (web applications). Well, 5-6 work years is NOTHING compared to 300,000-400,000 USERS hitting the system for 1-4hrs per session, times on average about 4 sessions per year. By my math that makes our user base hitting our applications with about 300x more use than we possibly can, as well as thinking up test "scenarios" we couldn't possibly either accommodate or even THINK of (it isn't like it is a single basic HTML form for testing, it is 30+ page applications).
Stuff was found in production ALWAYS. Fortunately it was generally things like a minor typo, or very minor display issue or something that we could correct at our leisure. Of course every once in awhile we found something that necessitated an emergency release and then running through the DB to correct an error because a code wasn't being propagated to the DB correctly.
Same thing with the airbag issue. You can run testing for months, but it doesn't matter if you run the tests with constant vibration and heat attempting to simulate advanced aging. There is no method I know of that can PERFECTLY simulate what happens when an air bag is actually installed in a vehicle and then 10+ years later it activates.
It is a shame and terrible and of course the issue needs to be fixed, but crap happens.