This is a very good point. And I've mentioned it before in other posts. The cost of replacing the battery is 10% of the price of a new device, give or take.So either forcing people to pay extra to get a new battery replacement or purchasing an AppleCare+. Those are your two options. Most consumers don't care about the battery degrading.
Most people will do a mental cost/benefit analysis when it comes time to decide whether to replace the battery or the whole device. I think the same thing applies if you break your screen. If it's not covered under AppleCare, then it's a couple hundred dollars to replace a screen, which might be closer to 15%-20% of the cost of a new device. Given the hassle-level of "strongly annoying" of upgrading a device, I'd be much more likely to pay up and replace the screen, unless I was planning to replace the device imminently anyhow.
In fact, I did that with my iPhone 6+ after it took a belly-flop out of my arms during post-hurricane Irma cleanup back in 2017. I fixed the spiderweb-cracked screen for $200-ish and I got on with life. All it took was an appointment with an Apple store location, a pleasant conversation with my assigned Genius, and after that I took myself to dinner. So not quite painful, lol! And about 6 months later, I bought the iPhone 10 Pro-Max-whatever-whatever, and gave the iPhone 6+ to a friend.