Suppose you are a manager who manages 5 employees. If you have $100K to give out as bonuses, you could just divide it up equally. Over time employees would come to expect to get their bonus and it would cease to be a motivator.
While stack ranking imposes a bit of an assumption about the distribution of effort/merit on a team, it's also intended to foster spirited competition for the top spots, much like the medal system used in the olympics.
If you are managing a meritocracy and the rules of the game are known, nobody will begrudge someone else getting a bigger bonus. Many workers idealize working on a team where they are not the strongest, so that they can learn from others.
The point is that it's not just about rewarding people, its about rewarding people for the kind of significant contributions to the team that make a business difference. If managers are letting it get political and it turns into a BS metric, then that's evidence of a larger management problem than a problem with the particular distribution of bonuses entailed by the program.
One could argue that any bonus that is uncertain has the potential to alienate the employee if it is not earned. The converse would be to give all employees motivational bonuses, or, in other words, not to give bonuses but to rename some of the guaranteed compensation "bonus" when it's actually just salary.
If a corporate culture is so backward that the genius in the next cube getting a bonus is viewed as a bad thing, then it's probably time to think about how/why bonuses (or the equivalent) are given in a smaller business where the bonus comes in the form of options being worth something, etc.