Lithium battery tech today is an incredible step forward, but simply acknowledging the still existent limitations of the battery and it’s lifespan seems like a much simpler and saner solution than building a house of cards trying to hide that reality.
Battery dying in 2 hours after a full charge? Time to get it replaced. If your device is still under warranty, it’s free. Otherwise it’s 80 bucks and you’re golden. What’s the big deal?
Instead we have this nonsense approach to pretend that batteries live forever at such a cost.
And then you have the people that pop up out of the woodworks in each and every single iPhone battery life thread to say "it's not that the battery dies faster, it's that the phone suddenly shuts off at 60% [or whatever]," which is an absolute load of BS. The iPhone 6S was the first device to have that problem (I went to the Apple store within a year of its release with my iPhone 6S and spent over 3 hours explaining to the tech what was going on despite what his fancy charts and on-chip reporting software saw until he relented and gave me a replacement phone well before Apple ever acknowledged the issue and initiated the limited recall) - and it's the equivalent of a bug in the hardware design.
As a battery ages, the "definition" of 100% slides (as the charge cycles go up the charge capacity goes down - although it's not that simple since li-ion batteries also retain some form of the old cadmium cell memory effect that doesn't scale in a directly linear fashion with the charge cycles, but not to an appreciable extent that would have a bearing on this particular matter), but there's no reason that a device should die at 60% of its _remaining_ battery life. Except that the iPhone 6S' hardware was designed in such a way that it demanded current that could only be supplied at a voltage in excess of what the reduced-capacity battery could supply, leading to the problem at hand.
This is just me guessing, but I'm fairly convinced of the truth here: Apple didn't implement CPU scaling to improve the end user experience nor to make money off of "planned obsolescence" but rather to avoid having to replace phones/batteries within and without the warranty period (as a recall was warranted due to the faulty design) and decided to implement a software _workaround_ (and decidedly _not_ a _fix_) to get all but the most susceptible phones to avoid the scenario that would trigger the brownout.