From our experience I think it really depends on the end user.
We’re currently working on a large-scale, component-driven design system that includes over 400 static pages and thousands of CMS items. One of the most important considerations has been understanding the end user’s technical knowledge and their publishing workflow.
For example, we initially explored building a single, flexible header component with six layout variations. While this would have been efficient from a development standpoint, we quickly realised that the marketing team wouldn’t have the clarity needed to confidently choose the right layout or understand which content goes where.
So instead of relying heavily on slots or overly complex variations, we opted for a simpler, more intuitive approach. Developing six header components clearly named, each with limited and purposeful variables — like background colour or element visibility — to give the team just enough flexibility without overwhelming them.
Not sure if that helps!