1. You have no power. You really don't have the freedom to change salaries, you don't have final say on promotions, you often don't have final say on work commitments, often a lot of work needs to be done that simply isn't exciting. It's a killer to have a development plan for someone that's totally un-acheivable because that's simply not what your team does.

I am honestly not sure why team members don't understand this. Of course, now and then you hear about that heavenly happy place where this is not true. But true more often than not.

I think this point needs to be expanded a bit as to why.
Salaries are determined mostly by budget, history, market, and skill fit.

1. If the budget isn't there, nothing a manager can do. The manager is not in charge of raising financing for the company, and budgets are hard-fought things where managers often can't get everything they want. A manager can't wave a magic wand and make money appear out of thin air. If someone is leaving for a better offer, the manager gets more ammunition to ask for a better salary for that person or for the team, but that's it. They have very little ammunition of their own.

2. A manager has to consider the historical wages of what current team members make. If everyone is underpaid, well, SOL. There are reasons for that, whether budget (see above), culture, whatever. If you need to suddenly overpay one person, you need to figure out how to make everyone else happy. It may not be possible, and it may unfortunately just be easier to let the superstar go. Unfortunately, not everyone is Netflix.

edit 2.b. OK, we talked about this during your annual review last year. I'd love to give you a raise. We need more people who are at the skill level where the company is paying that money. Remember what we discussed? How are those personal growth goals going? Remember Fred who got his raise last year? Remember how we talked about his code quality, his people skills during meetings, his efficiency, his list of cool accomplishments? Remember how I want you to do those things? Talk with me when you've achieved the personal growth goals we discussed. I'd love to give you that raise. I need people at that level, and I'm authorized to give it to you if you are right there at Fred's level. But I can't give it to you if you haven't grown to that level yet. Help me help you.

3. The market may actually not agree with you regarding your market worth. Just because Netflix pays their 10x guys so much money, it doesn't mean you're worth a 10x guy. This one is just certain people being delusional. What is a manager supposed to do? He wants you because you're a great 1x guy, maybe even a 2x guy. But there's no way he's going to pay you the 10x rate, because he knows the market can give him another good 1x or 2x guy at a 1x or 2x price.

4. Your in-demand skills may just unfortunately not match what the company needs. You're overqualified. Go work for Netflix, why are you staying at this crap place where you will never get what you're worth? Go get paid, just not here. We can't afford you. Or stay here, but then please don't complain about the money. I'll try to do what I can to make it worth it for you, got any ideas for me?