Here is my perspective on things: I have a 2010 27" iMac, and as of now, I have not one single compelling reason to upgrade. Part of this is due to the nature of the industry in general. In the late 90's/early 2000s, you could buy a new computer every 2 or 3 years and expect a significant boost in features and speed. Now that we are running up against physical limitations of chip and resistor sizes, that is no longer the case. Part of this is due to my purchasing a Core i7 machine and upgrading it to a Fusion drive with SSD, 16 GB RAM, and external peripherals. However, a very large part of it is that Apple has not given me a compelling reason to purchase a new machine. In the six years since I last purchased my new iMac, not a heck of a lot has changed other than removing things that I would have otherwise found useful, such as an optical drive and user-upgradable RAM. There has been no massive performance boost, and the company is still severely lacking in the one area that I would like to have a serious upgrade in: video capability. I wanted a Mac Pro (or G5 back when) as I was growing up, but once the "new" Mac Pro came out, there was no point because of the "optimized for graphics workstation" video circuitry. I would like to play some high-powered flight simulators, and, frankly, the new Macs of any variety leave a whole lot to be desired.
In summary, Apple's desire for aesthetics above all other considerations has made for paltry, puny upgrades and incredibly long upgrade cycles. It is unfortunate that both have not been seriously looked after over the past few years.