They can. All recent Android phones in the past 2 years can run Jelly Bean just fine. It's just that when you have different manufacturers, not all of them want to roll out the latest software for their hardware. You have to understand that there's hundreds of different kinds of hardware and one software base. It takes a lot of time to keep them all up to date so many of them don't bother.
This isn't a defect with Android, its a defect with manufacturers. Just get a Nexus and you'll never have a problem.
Also, Motorola is now committed to android updates now that it's owned by Google. So that's one source.
And when you are talking iOS 6 for older iphones. Well you don't get the full iOS 6 experience with older phones. And the older phones are slower with the newer OS. Even apple can't really get around it.
So i'll call it a wash.