The module puppetlabs/docker is for installing and managing docker. The Puppet docker module installs, configures, and manages docker from the docker repository.
The module puppetlabs/image_build - Build Docker images from Puppet code
The basic purpose of image_build is to enable building various images, including Docker images, from Puppet code.
There are two main cases where this can be useful:
You have an existing Puppet codebase and you're moving some of your services to using containers. By sharing the same code between container and non-container based infrastructure you can cut down on duplication of effort, and take advantage of work you've already done.
You're building a lot of images, but scaling Dockerfile means either a complex hierachy of images or copy-and-pasting snippets between many individual Dockerfiles. image_build allows for sharing common functionality as Puppet modules, and Puppet itself provides a rich domain-specific language for declarative composition of images.