Stack ranking sucks. I Loved doing reviews for my employees for all the teams I managed at Microsoft, but detested the necessity of using the stack-ranking system.
Microsoft's implementation of it sucks even more for three reasons:
1) the manager delivering the poor rating has to 'own the message' - meaning they have to convince the employee that the manager truly believes the employee only deserves the poor rating compared to their peers. This is the case even if they strongly disagree with the rating being given.
2) the rankings are determined for a group by having all the managers get in a room and decide how various team members compare to members of other teams, for team members at the same seniority levels. Many times this is done with very little to allow direct comparisons between people - meaning the people with the stronger manager, or manager more able to vociferously argue for their team members got a proportionately better number of higher ratings (my teams benefited from this under me 🙂
3) the rankings set by a certain level of managers get tweaked at every higher level of management up to the Senior VP of the Division. This means a manager may suddenly be told 'you have to give out another 3.0' - which is grossly unfair.
The only way to fairly review employees is to do what I do at SQLskills - everyone is judged on their own merits, without comparison to others. This only works with competent, caring managers though - which is the unfortunate small minority of managers at Microsoft IMHO.