To me, the major difference between Apple's OS's and the Windows/Linux/Androids of the world is that Apple _fails smoother_.
A typical bug may result in an iOS app freezing and then quitting on the user. However frustrating this may be, Apple's "something went wrong" user experience is much better than the annoying pop-up alerts, blue-screens of death, and cryptic error messages of the other platforms.
These error messages are only relevant to a small, small subset of power-users, so why show them to everyone else? The other 99% of users are just going to quit and restart the application anyway (as we've been trained to do), so why not smoothly lead them down this path?