Money is a way of measuring human work, when you do work you get compensated with money, if your job is something only a smaller portion of people can do you usually get paid more, if there are a lot of people trying to get your job and can do it, your pay will go down.
Traditionally this is true, but is it still true? I understand that great sports players are paid more because only they can do what they do, and you need the absolute best talent. It used to be that great actors and musicians were paid more since they had a special talent. But is that still true? You can be a completely mediocre singer these days, but a record company can polish you up, autotune your singing, give you dance lessons, slap on some makeup, and make you a millionaire. It is not about the person's ability in that case, it is about the brand (with their name being a brand).
Can you justify the salary of investment bankers by saying that only a small amount of people have the ability or the desire to do it? I would say no. Or how about CEOs of large companies? Certainly there is no shortage of people who want the CEO salary, and have the desire to be CEO. Yet some CEOs go from company to company, completely ruining the company with bad management and then move to the next company (usually with a pay raise!).
Many job markets are distorted. The "bad yet highly paid CEO" problem baffles me completely, but it is easy to see how ability and hard working can only take you so far in many positions. No matter how hard I work, I will never be the president of the company I work for. The deck is stacked against most of us.