From the receiving end:

Bonuses, and other perks, often lack the most important element: prompt, accurate feedback as to the reason.

Employees are typically well insulated from the customer; they are deliberately kept in the dark as to the 'big picture,' and have no way of telling if the job went well.
This is sad, as most folks really want to perform well. Imagine - no sports game would be entertaining, if the players were kept in dark as to the score!

Apply this to bonuses. Imagine if we went through the entire summer, without any baseball scores ... and were then told in October who had won the World Series! Sound silly? Yet, this is exactly what happens when a large company gives out an annual bonus.

One firm I know awards bonuses promptly, when a job goes well, to those involved.

Another firm has split itself into competing teams, and distributes bonuses according to team performance.

Bonuses, and praise, are crucial as 'positive' feedback. It's not enough to tell me when things go bad; I need to hear what I'm doing right as well.