<p>I see the major differences between chef and puppet is that puppet mostly forces you to use puppet dsl while chef let you use normal ruby. Also much more work is done on the puppet master then on the chef server. Meaning you need to scale you puppet masters.</p>
<p>That being said my experance is with chef.</p>