I sometimes wonder what has happened to the software industry as a whole, there is poor quality throughout; household-appliances, games, ad-infinitum.
Whatever happened to getting things right first time? or even thorough testing? Where did all of this "fix-it after it's been shipped" come from, surely not the Agile process of iterative development? That would mean a total misunderstanding of the Agile process.
I know, I know, the old argument of ever-more complex systems, blah, blah... but surely that is mitigated by breaking the problem down into byte-sized (pun intended!) chunks and testing at different levels of integration and complexity.
As far as I understand the industry, multithreading is now old-hat, as are the associated semaphores, mutexes, shared-memory, event & callbacks, object-oriented design, design-patterns and other such mechanisms... really what has gone wrong here?!
I guess there are just too many people with their own team of marketeers or even self-marketing who are just in it to make a "quick buck" and have no concern about the craftsman like appeal of a job well-done, a product well-made and the associative quality-feel or even standing behind your product.
PS I sincerely enjoyed the side-swipe comment at Nintendo tucked-in there... and obviously it's not your thing, but really, when I load up a Nintendo game on a Nintendo console I don't see the quality issues found upon, say, switching on my TV, which insists that I have only switched it on so that it can enter power-saving a few tens of seconds later (despite already having received a signal from any attached device).
Nope, I find the Nintendo software, hardware and overall content to be first rate, even when it is just a re-spun Windwaker-HD or WiiFit-U and I think Nintendo should indeed be commended for their efforts and attention to the details.