Part of it is also Apple. They don't hesitate to break things across OS versions, whether it's on iPhones or Macs. Unlike Windows which will run basically anything ever built for Windows. Also AutoLayout is bad at adapting to new screen sizes. The iPhone app I built in high school targeting a 3GS was more futureproof than a lot of newer apps cause I just used C macros to calculate UI sizes/positions.
End result, even a simple "fart button" app has probably broken several times.
End result, even a simple "fart button" app has probably broken several times.