Puppet is designed to provide continual enforcement of an end-state on nodes in an infrastructure. While Puppet can cover most infrastructure tasks, some things are better left to ad hoc tasks. Puppet Tasks are on-demand actions that can be run on nodes and containers. You write tasks in a similar way to scripts, and they can be written in any language that's available on the target node. When deciding on the right tool for the job, between a task or a Puppet manifest, I stick to a simple thought process: is this something I want permanently, or a single one-off action?
Let's think about some things in a normal workplace that would be permanent, or stateful. The physical address of where I work and the building, rooms, and furniture are examples of physical things I'd want permanently enforced. Things like weekly meetings or the daily scrum...