There is so much time, effort, and physical waste that is generated by slightly redesigning phones every year purely for the sake of making sales (as opposed to meaningful improvement upon the existing design or introduction of a new hardware feature). Think not only of people upgrading for the sake of it, but all of the cases, screen protectors, and other assorted accessories cast in plastic for previous models that are garbage now.
It would be nice if we could just space these things out to 5 years or so now, because that's probably how long it takes for anything to change enough to justify a new model.
There is no reason to release flagship phones each year.
The car release cycle is pretty much exactly what flagship phones do too. They get a major redesign every few years with incremental improvements in between.
The biggest reason is obvious: if you didn't your competitors would and they'd eat your lunch. Modern mobile devices are only 15 yrs old, they're where PCs were in 1995. I'm already seeing people who used to upgrade every two years switch to 3, and before you know it that will climb to 4, 5, etc. as the tech matures. In 1997 your PC was obsolete after two years, now they're fine a decade later, and phones will get there too.