There are a lot of reasons, but the most important one is that companies like Samsung, HTC, and LG that make Android phones are notoriously awful at supporting them with timely software updates after launch. That's because those manufacturers like to customize Android with their own look and special software features, meaning they have to put in a lot more software development every time Google launches a new version of Android.

A lot of the time these manufacturers give up, and their phones never get an upgrade to new versions of Android. As a result, most Android phones are running outdated versions of the operating system.

Gingerbread's install base is shrinking though, likely because most people have upgraded to newer phones that run one of the more modern versions of Android called Ice Cream Sandwich or Jelly Bean by now. Still, there's no guarantee that those phones will get timely updates from their manufacturers, even as Google continues to improve Android.

Even worse, Google doesn't have a good solution to this update problem yet. During a fireside chat with the Android team at Google's developers conference last month, a developer asked what Google is doing to make sure Android users always have the latest and greatest features.

In short, there's not much Google can do beyond offer their own "Google Edition" phones through its online Google Play Store. Those phones are sold separately from the carrier and receive software updates directly from Google as soon as they're ready.

It's still one of the worst parts of owning an Android phone. The operating system keeps getting better and has surpassed the iPhone in many ways, but there's no guarantee your phone will be supported after you buy it. With most Android phones, you're pretty much stuck with what you get out of the box.