You should consider using Puppet for the following purposes,Compliance and Audit: When your organization has to comply to policies and you need an ability to convert those policies into a code which would auto correct and bring the nodes into the policy in case of configuration drifts.
You also need to audit the systems regularly and prepare reports to find out which nodes have drifted away from the policy etc.
Software Delivery : If you are in business of building software and delivering as ova images or similar, Puppet is better approach to deliver the product and push updates to it.
You need to update the nodes and applications running on those often.
You need to deploy it on the respective nodes and make it running often.