A group is exactly a component until the group is opened for editing. Then an automatic “Make Unique” operation is applied to the group being opened. This is easy to see by experiment (and it has predictable consequences for SKP file size, see below).
Make a new group. Make two copies of the group (with Copy and Paste, or with the Move tool and radial or linear array). The original group and all its copies are instances of a shared implicit component definition #1 (but that definition is hidden from the Components browser). Select the original or any of the copies and look at Entity Info. It should say that one object is selected, and there are three total such objects in the model (all of which are instances of definition #1).
Now double-click on any of the three, and then close it. This will create definition #2 as a copy of definition #1. If you select that one group, Entity Info should say that there is one object selected, and there is one such object in the model (an instance of definition #2). If you select either of the other two groups, Entity Info should say that one object is selected and that there are two such objects in the model (each of which is an instance of definition #1). Groups are components (with the wrinkle of automatic make-unique)!
Updated to add: After a group has been opened by the user and thus its definition has been automatically made unique by SketchUp, that group is still essentially a component - simply an instance of definition #2. If you make copies of that “unique-ified” group, the copies will be instances of the definition #2. (This continues ad-nauseam: open one of the copes of the unique-ified group, and SketchUp will automatically make it unique, creating definition #3.)
Regarding the impact of groups vs. components on SKP file size (ignoring the ZIP compression that is applied to recent versions), the basic situation is relatively straightforward: with a component, the SKP file contains a large-ish blob of data describing the definition of the component (whose size depends on the amount and type of entities within the definition), and a small more-of-less fixed-size blob of data for every instance of the component in the file (essentially a reference to what definition is the instance derived from, a transformation matrix for locating and sizing etc. the instance, and a name for the instance). So if you have three instances of a component, the SKP file #1 will contain:
- A blob of data containing the component definition. This could be pretty large if the component has millions of edges and faces etc.
- Three small blobs of data, each blob describing the location and scaling etc. one of the three instances of the component definition.
Now consider groups. Recall that groups are essentially exactly the same as components with the exception of the automatic Make Unique operation that is applied when opening a group. If you follow the experimental scenario I proposed above to create a group and make two copies and then saved the SKP file #2 at that point, the file would have:
- A blob of data containing the group’s implicit component definition. This could be pretty large if the group contains lots of entities.
- Three small blobs of data, each blob describing one of the three instance of the group definition (the original and two copies).
The size of this SKP file #2 would be very close to the size of the SKP file #1 that contains “authentic” components.
Now complete the experiment by opening and closing one of the three groups, and save SKP file #3. This file will have:
- A blob of data containing the definition of the unique group (the instance of the group that was opened and closed).
- A small blob of data describing the group that was opened and closed, derived from the above first definition.
- A blob of data containing the definition of the group that pertains to the other two instances of the group. This second definition will be identical to the first definition, assuming that no actual modifications were done when one of the groups was opened and closed.
- Two small blobs of data, each blob describing one of the two unopened instances of the group, derived from the second definition.
The size of SKP file #3 would be larger than the sizes of SKP files #1 or #2 due mostly to the second complete definition that is now contained in the model.
The exact file sizes depend in detail on whatever algorithm SketchUp might use to allocate file space in fixed-size increments or packed buffers. So small differences (of the order of 1KB to 10KB) are probably due to the file packing algorithm, rather than the internal objects in the model.