Internal project managers (or just project managers) are regular employees of the company, external project managers (or project management consultants) are contractors that are hired from outside the company in order to manage one or several projects. Once there are no other projects to manager, the consultant project manager is usually "kicked out". Consultant project managers are usually hired in two cases:
- Lack of project managers
- Incompetence of project managers
Consultants usually make more money than internal project managers, simply because they don't have all the perks that the internal project managers have (vacation, healthcare, training, etc...).
Project management consultants usually distance themselves from politics, conflicts with other managers, and chit-chats with company employees. This is not the case for internal project managers.
External project managers tend to be more efficient than the ones, simply because if an external project manager is not good, he is eliminated on the spot, and the company searches for another one.
External project managers create a sense of unease within the team, because team members find it hard to accept tasks from someone who does not really work in the company, and may leave at any time to be replaced by another. It is very hard for external project managers to gain trust and authority from team members unless they work with them for a long time (at least 6 months).
Although from my own experience project management consultants are better and more efficient than internal project managers, I prefer internal project managers over them, because they are not jumping around from one company to another, they are committed to your company.
One last thing to mention, companies have a huge problem with project management consultants when it comes to confidentiality, and what makes things worse is that NDAs are not practical in their case...