A little while ago I wrote a piece comparing Puppet vs Chef on 10 different criteria and concluded that Puppet wins on all of them: http://bitfieldconsulting.com/puppet-vs-chef
It stimulated a very interesting discussion in comments in which some of the leading lights from both communities (and there is some overlap) took part.
A little while ago is a bit of a stretch. BOTH communities have moved far and beyond the state of things in that article.
The fact of the matter is that X vs. Y is ENTIRELY subjective. It isn't a sporting event where there's a clear cut way to call a winner.
Some people like Puppet. Some people like Chef. Anyone trying to decide between ANY software - whether two competing client libraries or something as critical as configuration management owes it to themselves and the company to try all the options. The one that's best is the one that encourages you to adopt configuration management.
It stimulated a very interesting discussion in comments in which some of the leading lights from both communities (and there is some overlap) took part.