While you already received excellent input, I figured I'd address the conflict you're experiencing as it's quite a common one that managers face. Inherent to it are the two main responsibilities you have as a manager:
- creating and maintaining a high-performing team that accomplishes it goals reliably and effectively
- coaching and guiding your team members to grow professionally
Usually those two goals are aligned. As your team members improve, the work your team as a whole can deliver does as well. However, at some point you're going to have people who report to you who've hit a limit in what they can accomplish in your team. That's not really a matter of if but rather when. While there are some people who have found the job they want to do until they retire, a lot of people will have a career trajectory in mind that includes personal and professional growth. While your team can also grow in role and responsibility over time, at most firms that won't happen as fast as the professional growth of your team members.
Eventually, you're going to have people working for you who are ready to move on to a more challenging role that you cannot offer them. At that point they have three options:
- accept that they can't grow here and stay in the role (for a while)
- move to a different role in the organization
- find a new employer
You have a role to play in all of these. In the former you have to be clear with the employee that you can't offer them a direct growth path right now. Some managers will even encourage employees to move on.
Moving within the organisation is win-win for all involved and I don't think I need to go into detail on what your role should be in that process.
Now obviously the last point can seem problematic because it means parting ways with what is probably a good employee. (If it's not a good employee, you should have been acting to correct that rather than waiting for them to leave but that's a separate topic.) Losing them means providing coverage until you can fill the role, finding and hiring a replacement, training the new person and investing time to get them to a similar level. All of that is expensive and means a short-term impact on your work.
Many manager feel that this is where the contradiction is: you want to help an employee grow professionally but feel strange about encouraging them to move on when it negatively impacts your team or employer. But I would argue that the morale boost and motivation your team will get out of having an excellent manager who handles this situation well is worth it.
Employees are not indentured servants. They will and do move on, regardless of whether you support them. Knowing that, being open and transparent with people who are looking to move on and not punishing anyone by pushing them out early will pay dividends with your other employees. They will in turn be more likely to be open with you about their plans allowing you to build a stronger and more effective team.