I have no idea why they haven't been fired. A lot of it is politics. Managers often don't like to fire people unless forced to do so by their own managers. And as long as it is only a couple of people on their team they ignore it.
It annoys me, because i often got dumped with the work that the slackers on my team should have done a month ago.
Sometimes, insecure people don't like to have people who they know are smarter under them because they fear they will eventually try to take their job. Second, manager compensation is some function of the number of heads and pay grades of people under them. For that reason, managers have two easy ways to increase their own pay: 1. Keep the salary of the highest paid or at least a few people under them as high as possible (managers usually, but not always make more than the people they manage) and have as many people under them as possible. So firing someone would go against that objective. A weak manager will try to convince others that they need a lot of people because they are doing a lot of work. So having 12 mediocre engineers under you looks better than having 3 rockstars who are super efficient.
