Стиль управляет отдельными свойствами элемента управления. Например, стиль кнопки может сказать: «Для каждой кнопки используйте этот фон». Стиль изменяет одно свойство элемента управления.
Шаблон элемента управления фактически обрабатывает то, как элемент управления отображает свои связанные данные. Вместо того, чтобы говорить «Я хочу переопределить свойства элемента управления», вы собираете вместе другие меньшие элементы управления в один элемент управления, который может представлять различные представления связанных данных.
Ранее в WinForms, если вы хотели написать настраиваемое поле со списком (скажем, рядом с каждым элементом), вы должны были наследовать от элемента управления ListView и переопределить методы рисования. Это включало массу экспериментов - огромную боль. С помощью шаблонов WPF вы можете использовать XAML для создания меньших элементов управления и привязки их к различным свойствам родительского элемента управления. Вы фактически определяете визуальное дерево для элемента управления.
См. эту статью для подробного объяснения Чарльза Петцольда.