
Grouping Objects is a way to manage Object relations, independent of the current methods like with hierarchies (parenting), Scenes or Scene layers.
To understand the use of Groups well, it's important to know how Blender stores that in its database.
This diagram shows the "Main" database, where all data is stored alphabetically, per type. And it shows how a Scene was constructed, in this case a Scene with a relation to five Objects. (see also Blender Architecture).

Now let's select three of the Objects, and make a Group of this. In Blender you can do that with hotkey CTRL+G, or use the "Object" pulldown menu.
What happens is that a Group block is added in the Main database, which stores internally references to the three Objects. It is important to realize that Groups are not part of a Scene, but can be a collection of any amount of Objects (Objects that are not in a Scene even, or Objects from several Scenes).

Groups can also overlap, as this example shows. Here a 2nd group was created with the center Object in a Scene as member of both Groups.

Groups can be used in a number of different ways. One of the most interesting features is to use a Group as an "instance". This can be done by indicating to an Object it should become a "Group duplicator".
In this diagram, two new Objects have been added, each duplicating a Group on the location of the Object. In this case the original Groups are in the same Scene, but that of course doesn't have to be. Groups can be borrowed from other files even.
To add Objects to a Group, or remove from a Group:
? 3D View, "Object" pulldown menu
? 3D View, hotkey Ctrl G
? Buttons Window, Object context, "Object and Links" panel.
? Deleting an Object will also remove it from a Group.
Groups are drawn in green wireframe color, this is part of Themes.
Add Group duplicate:
? 3D Window, Shift A
This adds an Empty Object with Group duplication set.
Use ALT+SHIFT mouse-click to (de)select an entire Group
Groups can be viewed in the Outliner too. It has an entry in the main header menu for that. When you select a Group item (click outside of name), a RMB click or hotkey W will give options. Use "Unlink" to give the Group a zero reference counter, when you then save a file this Group is not stored.
Appending a Group from other files will always insert the Objects of the Group in the current Scene. Linking Groups from other files won't do that. These then are only accessble via the Add menu.
Group duplicators
When you want to use Groups to be duplicated, note that the origin for the Group is the global origin.
A Group-duplicate will copy the full animation system from the original Group as well. Note however that this is a real 'virtual' copy. For example; a particle system inside a Group will exactly be animated as the original Group, only with a transformation applied from the duplicating Object.
Using Groups with animated Objects has two interesting features.
- You can move the entire Group to a local time, using the "TimeOffs" value in Object buttons
- In the NLA window, you can apply Action Strips on the Group. Use the (Nkey) "Strip Properties" panel to indicate a the Armature "Target" inside the Group, Blender then applys the NLA to it as usual. This makes libary-linking of characters very interesting.
Light Groups
In the Material buttons "Shading" panel, you can indicate a Group of Lamp Objects to be used as light for rendering, instead of the usual visiblle Lamps. This actually enables per-Material lighting (independent of which Object has the Material, or whether the Lamps are in visible layer).
If you don't want Lamps from a Light Group to work on the other Objects, just move them to an invisible layer.
Force field Groups
Particles now have the option to use a specificed Group as force fields. In that case the usual 'visible' other force field Objects will be ignored.