If you look at psychology, this is one of those game theory problems. Within a population, you require a certain amount of people that act altruistically or fairly, to keep a system going and stable. If you don't expect people to really be sick when calling in sick, or to return a favour, most wouldn't do it. Certain amount of people will then cheat the system, and thus gain far more at everyone else's expense, but if too many people do so, it collapses, as no one is then willing to act altruistically - if too many call in sick when they aren't, the boss will not believe people who really are sick, and will likely drastically curtail the benefits real sick employees need, for instance.
It is a balance in the population. If I recall, under correction though, the amounts for a stable system are about 75% fair people and 25% cheats, with a percentage of people that occasionally buck their classification (generally fair people that may cheat once in a while or vice versa). If more than 25% start cheating, then no one trusts anymore, and the cheaters no longer prosper, thus favouring people that are intrinsically honest, who are thus prioritised again - you would only trust those that acted honestly in the past.