As far as I know Android has a standard as well. You use Java for hardware compatibility and C++ for speed. Most apps run on all modern versions of Android devices. MIPS processors are the only exception that I can think of. Does every app run on every iOS device? No, because of difference between the devices.
The best analogy I can come up with are trading card games.
* The card game Apple only sells their game in pre-built decks. Everything is same so everyone can play the same game. If you change the deck the wrong way (mods and unofficial add-ons) you may not play with the other kids.
* The card game Android sells everything in booster packs. You get more variety and can pick up cheap decks of discarded cards. But the cheap decks may have old cards from previous game version that are not compatible with way most people play the game. Or you have someone who decided to make their own cards which don't completely follow the core rules. More fun to play for certain people but doesn't work with the game as a whole (we're looking at you Kindle).
Which one would you have more fun with for the price?