After looking into benchmarks, people started to realize that their older iPhones were performing worse than when the phone was new. After downloading CPUDASHERX which showcases the CPU's core clock speed, many were surprised to see that the iPhone was throttling it's speed and running slower than it should be.
Now, this could be due to the design choices made by Apple to help prolong the battery life of the older phones but it still makes you question whether Apple does this on purpose to make you feel like your phone is slow causing you to upgrade. Personally, i've upgraded from a 6S Plus to a 7 Plus back in the day due to this.
To see how bad of a problem this was, I wanted to see for myself. To test this, I used an old iPhone 6S i had laying around that I bought on release day and has seen its fair share of charge cycles with no battery replacements. I then ran the GEEKBENCH benchmark which generates an overall score of the phone based on a number of tests.
When running the phone on the old battery, the iPhone 6S generated a score of 1446 on the single-core test and 2211 on the multi-core test. After replacing the battery, the scores rose to 2645 on the single-core test and 4226 on the multi-core test. This means the iPhone 6S was throttling 59% on the single-score mode and 62% on multi-core mode.
Overall, if you have an iPhone 6 or 6S that is running slow, I highly recommend downloading CPUDASHERX to see what speed your iPhone is running at and then swapping the battery to get it feeling like new again. There are reports that the newer iPhones (7 and above) feature new CPU structures that don't throttle as bad so those should be fine.