It all depends on ones circumstances and what works for you.
I've found that the carriers are actually quite accommodating when approached in a friendly fashion. There's a concept called "lifetime value". My ongoing loyalty to the carrier has a very high lifetime value. Once I've called that to the attention of a decision maker, I find they're quite receptive.
Along with a track record of always paying my bill on time, not being a difficult customer, I find they're quite easy to deal with. I get two upgrades per year, one for each of my lines. I'm given unlock codes for free because I travel internationally & have negotiated that as a part of my contract. I've never had a reason to complain because we work together. It's all in the approach.
I've consistently, year after year, enjoyed two new smartphones of my choice, five years in a row. For me it's a terrific arrangement. AT&T likes it too.