Both groups and components have the property that they form a logical boundary or “context” for the edges and faces within them. This means that the edges and faces within a group or component (sometimes they are collectively referred to as an “object”) will not stick to, or merge with, edges and faces in any other object. This is the major benefit of groups and components.
The difference between a group and a component is that copies of a group are independent of each other (more-or-less, details in a moment), whereas copies of a component remain linked behind the scenes. The multiple instances of a given component all share a common definition. Editing any one instance of the component actually modifies the common definition, which causes all other instances of that component definition to instantly change as well. For example, if you have a six-panel door component and you want to change something about it, modifying any one instance of the six-panel door will automatically change all other instances of that door.
If you have made a copy of a given component and you decide that modifications to this new instance should not be propagated to the other instances, the Make Unique function will break the link to the original common definition. This component instance will become linked to a new component definition. For example, one could copy a six-panel door component, make it unique, and modify it into a four-panel door. Other instances of that new four-panel door could be placed in the model and all four-panel doors would stay “in sync” with each other. All the six-panel doors would remain synchronizing with each other as well.
In contrast to the behavior of components, modifying a group will have no effect on any other copies of that group. I wrote above that copies of groups are more-or-less independent of each other. To clarify, copies of a group do actually share a common definition initially. As soon as a given copy is opened for editing (e.g., by double-clicking on it) that copy of the group becomes truly independent right then and there (even if no changes are made while the group is opened). Generally it does not really matter whether the copies of a group become truly independent when they are created vs. when they are opened for editing. The one practical effect of deferring the “uniqueification” of a copied group is to reduce the .SKP model file size. If you make 1000 copies of a group, initially they all share a common definition (edges and faces etc.) that is stored once in the .SKP file, along with the position and rotation etc. of each of the 1000 copies. If the 1000 copies were made truly independent immediately, then the .SKP file would contain 1000 copies of the edges and faces along with the 1000 position and rotation information, generally making for a much larger file size. As you edit some of the 1000 copies of the group, the file size will gradually increase as more and more groups become truly independent.