DSC Powershell composite resource, partial configuration or roles. What is the best approach that can be maintained?

I have a little trouble trying to decipher what is the best approach when creating PSC-based PowerShell configurations.

It seems that partial configurations allow multiple people / teams to create configurations for their own strategies / configurations. It makes sense, but I've seen people take this approach to basically create and create modules to structure their code so that it's not as monolithic. This is a valid approach?

With respect to composite resources and roles, it seems that you might be using these two methods of implementation together. You can create a composite resource to define a Web server, and then assign a role to a node to apply the Web server resource. Would this be the right approach?

Is there a common type of scaffolding to build something like this?

I've looked at the https://github.com/Microsoft/DscScaffolding and https://github.com/gaelcolas/DscInfraSample, but as far as I know, the DSCScaffolding repository does not use any roles and the DscInfraSample directory looks like it uses roles, but I could not really have it built, so I could not really see what it was doing.

My main question is: what is the best way to approach Powershell DSC and how do you best organize your configurations for the real world so that it is maintainable?