I would put it this way. Some positions affect the money-making capabilities of a company more than the others. Senior management has more control over the business-aspect of a company and hence this situation.
In an ideal world for programmers, the only thing a company would be bothered about is the cleverness and the programming complexity of the product and would reward its programmers more. Such a company is bound to fail in the real world.