Why is it possible that Android users have to wait until their carrier releases an update and iPhone users get their updates directly from Apple?
closed as off topic by Matthew Read♦ May 5 '12 at 15:45
Questions on Android Enthusiasts Stack Exchange are expected to relate to Android within the scope defined in the FAQ. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about closed questions here.
It has to do with the contracts that carriers have with the manufacturers. They also have to do testing of the deployments, to make sure they "go off without a hitch". If the updates fails for users, the carrier is the one that has to take the service call. They also have to do training for their customer services people on how to handle any update issues.
Besides deployments, they also need to test that the update doesn't compromise the network, or the device.
Let's also not forget about the bloat ware that the carriers add to the releases. These are applications that the carrier may be getting paid to distribute, another way for them to make some money off the device that they are selling at a subsidized price.
If you buy your phones outright, you will pay more up front for the device, but buying subsidized, you pay more for it with the higher contract fees. Non-contract plans are cheaper per month, and every carrier offers them, you just have to ask for it. They don't advertise them because they make more money off the contracts.