One of the great myths about the Android operating system is that because it's open you can update it any time and put anything you want on it. Of course you can if you actually have an interest in these things but "normal people" simply don't do that. They wait for an over the air (OTA) update. However unless you have actually got a Google device such as the Nexus 5X then your Android is really the manufacturers Android. Manufacturers often need to provide their version of Android not the generic one to actually differentiate their device in a crowded "me too" market. Then the carriers themselves have an issue. Your contract phone is locked to a carrier. They are not interested in keeping your 2 year old phone up to date. They want you to pop into their store and get a brand new phone for fear you might unlock the phone you paid for and defect to a better deal. Keeping your existing phone on an old operating system is an opportunity to sell a new phone.