Re: Rock, meet Hard Place
You've made an assumption: That manufacturers thoroughly test their code before shipping. From bitter experience, they don't.
Some of this is down to laziness.
But for large pieces of software, testing can take weeks to run and cost six or seven figure sums. And that's just to run the tests that have been written. It could be an order of magnitude larger (or more) if tests have been written for every code path.
But a large part is that the customer's use of a vendor's products in ways more complex or creative than the manufacturer ever thought possible. And when it comes to distributed systems, testing is a harder still. (Hello race conditions!)
Summary: Testing is hard. Good testing is even harder.