This is common because there is a cost (usually non-monetary: effort, risk, having to evaluate offers etc.) to changing the status quo.
You're always to some extent buying a cat in a bag, once you know what's in the bag, and the payments are set up etc., it makes sense that the service is worth more to you.
The same goes the other way too, however: Acquiring a new customer is costly (see above - you usually have to give them an extra incentive, you need to find/advertise to customers, etc.), so keeping a customer is worth a lot.
Which often means that there are great deals either for new customers or to retain ones that are plausibly threatening to leave (ever called your ISP to end your contract? wondering why many try to force you to talk to them before ending a contract?) and the rest that doesn't have the energy to play the game gets screwed. So you will get the "loyalty deal" but only if you put work into it.
I agree that it really sucks, but I think that's just how incentives are aligned, and incentives tend to lead to outcomes.