Groups are a convenient way of organizing pictures. You can duplicate groups to help you quickly develop your pictures. The important thing to remember about using groups is that each group is a separate object and the overuse of grouping, especially in the design of Dynamo objects, can lead to pictures with hundreds of unnecessary objects. This can negatively impact the call-up and refresh performance of pictures that use these objects.
You might want to consider a strategy where you use grouping freely during the design phase of your project and then selectively ungroup some objects before you use your pictures in run time. For instance, perhaps you have a group of objects (let's call this Group A), and this group does not have a script or an animation associated with it. Group A is also part of a larger group, Group B, which does have some animated properties. You may have chosen to group the objects in Group A at design time, because you duplicated this group and used it in many pictures. At run time, there really is no reason for Group A to remain grouped, so consider ungrouping it.
This strategy is not meant to imply that groups or Dynamo objects shouldn't have sub-groups; it simply suggests that you use groups judiciously. For example, if your main group has 6 objects, it probably doesn't need 4 sub-groups. However, if your group includes hundreds of objects, it may make sense to cluster the objects into a few smaller groups so that you can more easily duplicate or edit the objects in your picture.