"Everything is a file" is a famous Unix principle. And because of this, most of configuration management on Unix/Linux revolves around managing files. Puppet, as a configuration management tool, is no exception to this. As a consequence, there are many ways to manage configuration files with Puppet. They all have a reason to exist, and a purpose to fulfill.
This article covers file management approaches, managing whole configurations, and managing partial configurations.