Pros
There is no good point that comes to my mind
Cons
Lots of internal politics. Lots of favoritism and partiality exists. Internal Job posting is just the namesake process; at the end selection is done on personal relation basis. People use resignation as a tool to get promoted / to get onsite / to get salary hike. Middle management and even some of the leadership team is a waste; they do not know what is going on in the team and projects. Some of them do not even know the client/sponsor names and yet they call themselves client partner. Promotions are totally dependent on your relationship with your manager instead of your performance. No matter how much you work, how much your clients appreciate you, how much your team appreciate you, the promotion will always go to someone who is good at buttering or who tactically puts the papers.