[citation][nom]dimar[/nom]Manufacturers should give us the plain ICS or new Android versions, and release their bloatware through Market. Carriers shouldn't even touch the software. Problem solved. Everybody gets the latest releases a lot quicker.[/citation]
Exactly. Yes, we concede that different SoCs and radio tech obviously require some extra attention when updating to the latest, such as the case is with ICS, but what really delays it is all the bloatware and custom crap that manufacturers and carriers have to add to the mix. Not only do they have to make all their junk, such as Bing search or Motorola's "nonblur" interface work with ICS from a software standpoint, but those apps and addons also have to work with the different sets of hardware.
So instead of just adjusting code for ICS to fit each device's hardware, they've got to adjust each software based addition, whether it's helpful or not, to work with everything as well. That can't be an easy process, and it definitely explains why devs on donated spare time can produce a more polished product much faster simply with access to a bit of source code.
Samsung, for example, has released source code to devs on several devices, and those custom ROMs come out far ahead of OTA update schedules, and often offer more functionality and stability than any of the factory OTAs ever will.