The problem lies with the amount of financial resources available to software users. Users can afford buggy software. They can't afford non-buggy software except for a very small number of uses.
If you ship something that loses data and you have to start restoring backups and patching data, it probably would've been cheaper to do a little extra testing.
Like everything; it's a tradeoff. I think we're universally bad at playing the game!
It may sound silly to some but I'm really interested in what people think about this.