I mean, obviously, the idea behind a bonus is that it's something you don't always get; something extra, so that employees can share when the company is doing well, or a extra thank you to employees who worked extra hard or who were especially effective at helping the company.
Of course, trying to get employees who have the same attitude as the author to have the right attitude about bonuses is hard, and I don't really have any good ideas how, other than making bonuses rare, which has it's own problems. Maybe having bonuses not on a set schedule? (e.g. tie the bonuses to, say, breaking a quarterly revenue record, and only give bonuses when that event occurs, rather than every year, once a year?)