Since my iPhone 6+ works just fine and I am happy with it, I can't really justify spending hundreds of dollars on a new phone. I could be happy with either the iPhone 8 or the iPhone 10, but I would rather wait until something major goes wrong with my phone before I spend the big bucks.
When I was working, I used to get a new phone with a new contract every 2 years. The upfront cost was relatively low, usually either $200 or $300, because the carrier would subsidize the cost of the phone. Many carriers won't do this anymore,but some companies like Sprint might. But right now I am saving $30 per month on Total Wireless, so I would have to pay an extra $720 over two years to get a subsidized phone.
One reason I bought a new phone every two years is that there would be some major changes every two years. However, now the phones have gotten so good that the changes are more incremental. The new phones always have a faster processor and a better camera, but this is hardly a reason to abandon your old phone.
Apple's 6 core processor is kind of exciting. Two high power cores with 4 low power cores, and unlike the previous phone, it can use all the cores at the same time. This rivals some desktop computers in terms of power. (Some competing brands of phones will allow you to hook up a monitor, keyboard and mouse and use it like an internet based computer. Microsoft Windows Phone does this, and I think so does the Google phone.)