Everyone knows (or should know by now) that the primary purpose of annual iOS upgrades is to obsolete older iPhones. And how do they do that? By slowing them down to the point where they’re too aggravating to use.
It’s obvious.
My observation is the opposite. Apple knows that users are holding on to their phones longer and upgrading less frequently, and so they have shifted from merely selling iPhones to selling to users with iPhones. In other words, Apple doesn't need you to keep buying iPhones, they just need you to keep using one (while continuing to earn as you spend in the ecosystem, from other Apple hardware to services to apps, even Apple Pay gets Apple a small cut).
Part of this is ensuring the longevity of iPhones by making them out of fairy durable materials that can easily last 4-6 years, as well as supporting them with many years of software upgrades (new features like widgets go a long way towards making one's device feel fresh and new again). It's also why they are comfortable doing battery replacements which in theory, discourage upgrading of iPhones. My experience with iOS updates is that performance is typically preserved. I can attest that over the 4 years that I held on to my 8+, it didn't feel slower with subsequent updates, though somewhere along the line (think it was iOS 13 or 14), battery life started to take a hit. I had no problems with running apps, just that I would need to top it off in the middle of the day when its battery life dropped to 30-40%.
But yes, it runs best on the original iOS 11. How do I know? Because the original battery swap failed and Apple ended up issuing me a refurbished 8+ running the original OS, and that had no problem lasting the day. On the plus side, it qualified for 1 free year of TV+! 😅
The same can be said for my 2018 iPad Pro, which has also received its 5th software update, and iOS 17 has made it smoother (although it also didn't really get any new features aside from interactive widgets). From this, I can surmise that iOS has certain years where Apple works on bringing new features, but the tradeoff is that sometimes these new features (coupled with the strain of meeting an annual deadline) may cause your device to feel slow and bloated because the code hasn't been optimised yet. Which Apple then either attempts to fix via subsequent patches or every few years (iOS 12 was also very notably a maintenance patch).
The last thing Apple wants to do is irritate consumers to the point where they decide to just get an android phone, because that is where Apple has permanently lost a source of recurring revenue.
My Apple Watch Series 5 is also just past its 4th year (though I did have to get its battery replaced last year by Apple). I also had my iPad Pro battery replaced earlier this year when it started bloating (wish Apple made iPad repairs more accessible; I ended up going to a third party repair shop).
I don’t know about primary purpose but it’s definitely a side effect that Apple is aware of and is not doing much to address, because it benefits them financially. If they truly cared, they would make it possible to downgrade to past major iOS versions (even if it’s the latest update for that particular major version) or at least enable new features to be disabled to enhance performance/battery.
I think Apple does allow this for a few reasons.
1) It gives them something to boast over Android (number of users on the latest version of their OS).
2) The more users are on the latest iOS version, the easier it is for developers to target them. For example, if say, over 80% of your user base is on iOS 17, it may be easier for the developer to say, support their app for iOS 17 (and maybe iOS 16) and drop support for the rest, which is probably a very small percentage. This makes it easier for them to maintain their app.
3) Patches do often contain security fixes, and again, it may simply be more convenient for Apple to just bundle both together, than issue patches separately to older devices still not running the latest software.
I don't think it's all financial-related, though it's definitely a bit of self-serving element inside.