Puppet just invokes the host's native package management tool with appropriate options for managing the specified package. For instance, "yum -y --install foo" on a yum-based system. You should be able to see the actual command Puppet issues by turning on debug output.
If you need a different command or extra options then you'll need to explain that to Puppet. On the other hand, if you expect the command Puppet is issuing to do what you want, then probably something is screwed up with your repository configuration. You should review the config files, and you can test by issuing appropriate package management commands manually.
A repository misconfiguration might arise from many sources, but in the simplest terms, if your repositories are not configured correctly then either your Cobbler configuration is wrong or something else (maybe Puppet) changed the repository configuration after provisioning. Puppet only manages things you explicitly tell it to manage, so if it has modified your repo configuration then that's because of something in one of your Puppet manifests.
John