Obviously you might leave after a few years of really unfair bonuses. But truly, they seem a little disconnected from regular market forces.
Everyone knows that if you go work for e.g. Google, you're getting a certain base salary, plus a bonus package (plus options/RSUs, plus free food, plus a lot of things). People consciously subconsciously price these in as much as they can. Of course if bonuses are variable it's harder to price them, but the same can be said of stock grants in companies. And no one can afford to ignore those - they can in practice make up a huge part of your pay package.
Well, you're correct. If the bonus is unacceptable, the employee can just quit. But a year of work (or more if it's event based instead of annual) is a big opportunity cost to find out that info.
In other words, employees never take an unexpectedly huge bonus to the chagrin of the employer. So there is a power imbalance there.
It at least partially is. The employer needs to meet reasonable expectations and any commitments they made.