Its mainly the latter.
It helps with improving workflow as you don’t need to recreate every material from scratch, and the added benefit of switches, variables, and such makes it much faster to tweak materials.
Game-Performance-wise there is no performance benefit.
gamedev-performance-wise it helps you work faster.
here is a document with some easy-to-set-up performance tips for materials/instances and such 