Newer iOS updates allow you to disable the CPU throttle. It turns out that "high demand" scenarios that cause the phone to crash can be triggered by mundane actions like taking photos.
If you disallow throttling by law, old devices will just crash all the time.
This was what Apple apologists said when this issue first came to light, but hasn't Apple already shot its own excuse in the foot? iOS 11.3/12.0 came out, removing the throttles, and I haven't seen anything about a rash of phones all constantly shutting off now.
AFAICT, this switch won't affect throttling in other cases, such as near/sub-freezing temperatures.
* this is a pretty complex issue; "throttling" isn't even a great term once you actually start to understand how the power management works
If that's true, it reduces my fear. I know that's true wrt Apple's batteries. But what I read for the OS updates is that they suggested/shipped newer software they knew would degrade the performance as opposed to intentionally degrading it.
As for intentions, while they may have been good (I think it's just easier maintenance to keep one running stable branch), if they were that consumer friendly they would have been more open to the user about the harms of upgrading.
Apple obviously was not intending to harm users here (I don't know the Samsung case well enough to comment), they absolutely messed up the messaging by not making a notice about their work-around front-and-center, but I disagree with the precedent that this fine is setting.
The crashes which were being avoided would only have happened on bad batteries. But the throttling happened in all instances, bad battery or not.
It obviously wasn't an "iOS 12 gimps the iPhone 7" issue - I mean, Apple sells new iPhone 7 phones with iOS 12 on them right now.
That's not what's at issue here though. The update was literally along the lines of "if (old phone) then { set_cpu_throttle_threshold(lower); }".
Now the intentions were good, even if paternalistic in that the newer features were more demanding on older devices and throttling in theory was supposed to provide a better user experience with the device under high demand--freezing for 5s instead of crashing and rebooting. But still it was literally a patch to make old devices run slower, which regardless of intention should not be allowed.