Why not? They can release a slightly improved version every year. I know that some people feel obliged to stay on the "latest version" and buy a new iphone every year, but it's their decision.
Their ability to manage the "industrial complexity" is an incredible competitive advantage, and means than in consumer comparisons among flagship models, theirs is rarely behind. This would not be the case if they had every other year releases, that would leave the off years open to attack by, say, Samsung, "Why buy last year's phone when you can get a current model?"
It doesn't mean consumers are or have to update every year, it's about having something up to date when the consumer goes phone shopping.
As for reducing compulsive behavior, nobody's forcing anyone to update. If one looks beneath the glass, Apple generally updates on a "tick tock" (more obvious when every other model was called "S").
Look back at the S years, and you see those generally tried out the new camera systems and other non-phone internals, while the integer models were the phone capability updates. Folks more interested in the camera or processing tended to upgrade on S years, folks wanting "new" designs or looking for mobile (radio) updates tended to upgrade on integer years. Apple still does this, though a less clear tick tock, and are now cascading these features.
Think of it as a kind of "canary" release channel, with the "Pro" features being constrained production till it ramps, and those same features can go in the next cycle's base model (as made clear across the 14, 15, and 16 models' feature cascade.
Once they have this cascade flowing, it allows a much longer subcomponent life cycle (as the subcomponents can be used across multiple generations without having to do a repackage. That's fantastic for reducing waste reduction, industrial complexity, defraying costs across many model years, all the things you say you want.
Automobiles do a similar thing with their "platforms" that change slowly and are used across models or even across badges, even as "model years" refresh each year. It's far more efficient for both pre-assembly and post sale supply chains.