Ответы:
Есть различия, вот два больших:
Использование include
позволяет несколько объявлений класса. class
Декларация может быть использована только один раз , или вы будете видеть дубликат ошибки декларации ресурса.
include
будет использовать внешние данные, например, hiera, для параметров. Декларирование class
позволяет указать параметры.
См. Https://puppet.com/docs/puppet/latest/lang_classes.html#the-include-function.