I think there's an anchoring mechanism. You come in at a level and maybe promote after a couple years but then every promotion becomes harder, they are used to you and there's the other engineers with their salaries and there's a lot of mental inertia to see that John should be now a staff engineer when he's already promoted (is he really so outstanding compared to the other engineers?).
But you interview with another company and you reinvent yourself. They have a problem to solve and you have experience in it. You interview well, now you are a principal engineer with a big raise.