There is definitely also a major problem with unpredictable performance on all limited resouce devices. A colleague and mine were hired by Intel for the Pentim 3 launch to make some hefty UI stuff that showcased the AWESOME power of this processor so that everybody would upgrade.
For some reaon it was decided that a Java-based 3D interface to the Excite search engine was the ultimate solution. Planets with moons would represent result pages and individual search results. Space age stuff. This was obviously before the big internett ka-blam when people had way too much money and grand vision of a 3D cyberworld.
Well, the garbageman always popped in at the wrong time and frequently, so we did what we had to do back then and ask for a ton of memory and write our own allocation stuff. The client had no tolerance for jumpy GFX.
That did the trick, dirty as it may seem today.
I maintain that Apple's decision has most to do with little memory availabe plus wanted optimal, even speed in apps and games. They are not the kind of people who are happy with people going "argh, now it˙s lagging again."
I refer you to the recent hooplah around 4.x being dog slow on some devices. The new update kicked out some features to trade off for performance.