> You do realize that Android is on your list, right?
I added it later (realized I use it quite a lot and it's unfair to not put it there), but you do get to an interesting distinction: Android runs quite fine on my phone. So when it's barely running, it's a software/hardware mismatch. And products, as long as they're software products, tend to be rather good. When they are part of other products the quality may be more of a "hit and miss".
But, is that a fault of the software? Take cars, I'm sure the software in my car is imperfect, "crap" by some standards.... but, I haven't had it fail. I did have a sensor failure, though. And on the previous car, I've had lots of other hardware failures, and no observable software failures. Would a pacemaker with crappy battery (say, an exploding one) be any better than a pacemaker with crappy software? And how often is the software actually used to mask/work around the crappier parts of the product? That must be quite a lot, and increasing.
Sure, the software in a product might be crappy - but products are crappy all the time, so why should the software in some of them make any exception? You buy a cheap pair of sport shoes, you don't expect them to be the same quality as a pair of Nike shoes (and even Nike ones are imperfect)... why do you expect good software on crappy cheap security cameras?