What happened was:
1. Battery defects caused some of them to underperform, leading the battery management subsystem to shut down the phone due to voltage drop when too much current was drawn.
2. To work around the shutdown issue (very bad), Apple implemented throttling (IMHO less bad) in a new version of iOS, to prevent too much current from being drawn. They figured the throttling would be so light as to be unnoticeable to users, except...
3. Benchmarkers noticed the throttling, and all hell broke loose.
Battery defects are unfortunate, but the decision to make them not user-serviceable leads to a host of bad downstream decisions.
(Of course, making them user-serviceable also leads to a host of other difficult decisions, and I'm not just talking about opening the case. What happens to system design when you can no longer trust the battery's specs?)