It's known as opportunity cost . The idea behind opportunity cost is that all resources must be used efficiently. These resources could be monetary, but they also include things like time or any other corporate benefit. We're all more familiar with the idea the way Ben Franklin expressed it : "Remember that Time is Money."

No matter when you look, you'll see phones — expensive phones — on sale that are running "old" versions of Android. Brand new phones that cost hundreds of dollars and are often the best models available in their segment. They will be on shelves beside other brand new phones that also have "old" software. And not just models that have been available for a while, but just-released devices that we have heard about and are waiting to buy. For some, that can be frustrating. But there is a reason, and it's pretty simple.

It's not cheap to build and test a complete operating system. Sometimes it's comparatively easy; think of the companies like BlackBerry and OnePlus that are better than most at getting monthly security patches out. The new code was designed to be merged into existing code, and all a company using it needs to do is check the parts they have changed compared to the download Google provides. But not all updates are small or simple — actual changes to the core of Android, such as those required for an update from Android 8 to Android 9, are another matter. Even a seemingly small bump to a x.1 release can be challenging, depending on what changed. And that process can be expensive.

Google only makes a complete version of Android for the products it sells. But it allows companies like Samsung, LG, Motorola, OnePlus and dozens more to build their own operating system based on Android any time they like because of a liberal software license. That's why Android became the dominant operating system so quickly, and it's also why your phone probably has an older version of Android, and has ever since you bought it.

It's no secret that most phones that run Android aren't using the latest software. They may be on the latest platform version (i.e. Android 9 Pie), but they probably don't have the absolute latest revision or security patch level. Understanding why starts with understanding how "Android" is updated.

Though there tend to be clusters of phone launches around the spring and fall, we see new phones announced throughout the year because companies all have different release cycles. But Google releases its new Android platform versions in the fall regardless of what smartphone makers are doing, and that means there's always going to be a disconnect of some sort between the two. And that creates the potential that we can see phones announced just a month before Google releases a new version of Android, for example, and by the time it actually goes on sale it's already out of date.

It takes months to launch a phone, and the software can get out of date during that process.

This can become an even larger (or at least more noticeable) disconnect because it takes several months for a company to get through the process of actually bringing a phone to market. No matter when a phone launches in the year, the process of getting certification for a smartphone to run on certain networks and in various countries takes lots of time (read: more money), all while the software is locked in and can't be changed. And the longer that process takes, the greater the gap between when the software was locked in and the phone actually goes on sale.

Typically, this delay leads to a phone being a couple security patches out of date, or perhaps a small revision (x.x.1) behind — but if the timing is just wrong, you can see a phone launch a full version old. Nobody at Samsung or LG or any other company wants you to have old software on your phone, because it's going to commit to updating the phone to the newest version anyway. But because they have to do the updating themselves, it takes time. And that's why we see phones with old versions of Android despite everyone's best efforts.

How to know you'll be up to date

The only way you can take all of the guesswork out of whether you'll have the latest version of Android is to buy a Google Pixel phone. Google ships all of its phones with the latest version of Android available, but more importantly guarantees ongoing software updates. With a Pixel, you'll get a minimum of two years of full platform updates, and three years of monthly security updates. And once again, they come out right away.

The Google Pixel 3 starts at $700, but the Google Pixel 3a has the same software support and starts at $400.

If the Pixels aren't particularly appealing to you, there are a couple other options that come with the expectation of regular and continued software support. OnePlus does a good job of keeping up with updates, and the OnePlus 7 Pro is a great phone. You can also look at buying an Android One phone like the Nokia 7.1 or Xiaomi Mi A2 for much less.