As a hiring manager, though, I'm stuck in the middle between developers and executive leadership. Executives tend to form a notion of what different roles should be paid, and they just won't bend, even if it means losing talent and spending $1 million+ replacing them over time. The problem is that replacement cost is abstract and easy to ignore, whereas paying a single developer $500k/year to retain them feels very real. Never mind the fact that losing them means multiple projects will be derailed, you'll spend a year looking for a replacement to hire at twice their salary, that replacement will take 3 additional years to reach the same level of domain expertise, it turns out that replacement never takes on the same degree of leadership or earns the same level of trust from colleagues, and in the midst of all of this the absence of your top performer causes two other talented engineers to leave in the following year.
$500k starts to look reasonable in retrospect, but you'll never be able to sell it, so you'll do the above dance instead and spend more money in the end.