Apple have also alienated a lot of people by not supporting an open physical standard for headphones. The day I can use the same headphone jack (3.5mm or USB-C) on my laptop and iPhone is the day I upgrade from an iPhone 6s.
Plus, the carriers are encouraging SIM-only sales and for people to finance their own phones. So the 24-month upgrade cycle has been somewhat broken there.