I agree software is shipped without being tested to 99.999% quality. I buy a game on release day, come home slap the DVD in and install it (if it's not a steam game that is) and run it, it checks for patches, and downloads a 22gb "patch". So I stopped buying physical games, most games get released on steam, if I have to download the entire game regardless of whether I installed it from a dvd, I may as well just download it in the first place. I can't remember what game it was, but you could download the patch for the game before the game was even released. That says to me that they sent the code to the dvd fab knowing it was full of bugs.
But
Here's why code is not tested to 99.999% quality.
It costs too much. I work as a developer, I worked for a major bank on their project metrics team, so I had access to all their project data, planning, hours captured etc.etc. To make even a relatively small change to big software costs millions. Impact analysis by senior developers, assessments and documentation from system architects, meetings with management and business analysts etc. etc. All these people are not cheap. Before code even STARTS to change it can cost millions. Then the code changes and you have to do end to end testing, integration testing, regression testing etc. all involving people who pull a pay check, and depending on the code change you may need a new environment (ie. physical hardware) to test the change without impacting the rest of the business. I can hear all the agile pundits screaming, but if your testing cycle involves external parties, like every major bank in the country and the stock exchange, then 'agile' development is more expensive than waterfall development. So, it comes down to the testers to make sure there are no bugs. Developers subconsciously know how their code works, and do their unit testing accordingly, so when they send code to QA they think it's working 100% and there are no bugs. It's up to the testers to push the code in different ways to see if something breaks. But how good are the testers? Are they just ticking the blocks on the test plan? Are they trying weird and wonderful things outside of the test plan to see what happens? Probably not, it's hard to find good testers, it's a boring job. Hell it's hard to find good developers, never mind good senior developers. All of this means that code will never be tested to 99.999% reliability. EVER. IIRC they have had to do 2 patches on the mars rover which is on another bloody planet. If any software should have been tested to 99.999% reliability it should have been the software on the mars rover. But it wasn't, because it costs too much, and software / hardware and it's integration are very very complex things.