Bruno S. Frey and Margit Osterloh give a number of reasons to question the effectiveness of performance-based compensation systems. One of the reasons should be familiar to readers of this blog.
It would be naïve to assume that the persons subjected to variable pay-for-performance would accept the respective criteria in a passive way and fulfil their work accordingly. Rather, they spend much energy and time trying to manipulate these criteria in their favour. This is facilitated by the fact that employees often know the specific features of their work better than their superiors. The wage explosions observable in many sectors of the economy can at least partly be attributed to such manipulations, eg when managers are able to contract easily achievable performance goals.
When a remote authority sets incentives, people respond by manipulating the system. This fact is poorly understood by education reformers who are fond of pay-for-performance and national standards, by health care reformers who are fond of paying for quality, and by financial regulators. In fact, the quoted paragraph provides an excellent description of the financial regulatory process under risk-based capital. The banks spent much energy and time trying to manipulate the risk-based capital regulations in their favor. They got what they wanted, in terms of risky portfolios backed by little capital.
The Hayekian story here is that effective compensation practices require local knowledge and tacit knowledge. In a large company, you give a middle manager a fair amount of discretion in compensating his or her staff. If instead you try to implement an automated bonus system, you will get gamed.
Unfortunately, other people commenting on this article have stressed other issues that the authors raise with pay for performance. In particular, people are attracted to the behavioral economics stuff about non-monetary compensation. I think the Hayekian issue is the most important, and it has the most implications for (taking a more humble approach toward) public policy.