Why is there such angst and grief among carriers, smartphone makers, and Google over providing the latest Android version upgrades to older smartphones? At $600-$800 a pop, consumers shouldn't have to purchase a new smartphone every 2 years to get the latest upgrades and safety features.
If you have a phone with 1GB of RAM - that cost $700 when it was the latest thing - it may not run Marshmallow. It's like trying to run 1985 Mac apps on a current Mac - they won't run, because the current hardware is different than the hardware the software was designed for.
You can still run your 2012 phone on Gingerbread - it'll still work. But they're not going to rewrite every update for every phone ever made - and that's what they'd have to do to make Marshmallow run on a phone with 512GB of RAM and 168MB of user storage space.
(That's one of the two things Apple got right - by making all the hardware and all the software, they can keep compatibility, so an iPhone 4 can still run the latest version of iOS. They got it wrong on the Mac, though.)