The software companies, by forcing the user to upgrade, and forcing the user to take a passive stance on these issues, implies that the end user is responsible. Even with bug fixes that are free, require that the user actively find and download the patch. They take no responsibility for the bugs, and most companies even state, in their license on the technical support page, that they are not legally liable for these bug fixes (as they pertain to the ability to fix a problem.) Sometimes the closed source operating system will display a message stating that you should get in touch with the vendor of the software that crashed (when it was the operating system itself that crashed.)
With all of this finger pointing, and blame throwing, no one stands up and takes responsibility for their actions. Consider the car analogy again: if the car were released from the factory with various defects (ie: loose bolts on some gear in the engine.) The company would publically state that there was a defect, and that they would exchange or call back all models of a particular type that was sold. They acknowledge the fact that they, indeed, were responsible for the ``bugs'' in the automobile.