There is a lot to cover. Are you looking for a comparison between Puppet and other Config Management tools? Are you looking for an isolated list of strengths and weaknesses? As Alex mentioned, some of the tradeoffs can be context specific.
There are a few things that serve as a jumping point for me, and I'm sure they are probably covered in other articles.
Declarative vs Imperative?
Agent vs Agent-less (ssh push based)
Speed/heaviness of client
Centralized vs Distributed?
Size of community?
DSL/Language readability? (from Sysadmin vs Developer perspectives)
Greenfield vs Brown/Greyfield adoption
Let us know if there are any specifics you have in mind, that may help us narrow the search or point you in the right direction!