Groups are collections of contacts that have something in common. For example, you may create a group for "Board of Directors" that includes all members of your organization's board. You could also create a group "Computer Skills Training Attendees" that would include contacts that attended the training.
There are two kinds of Groups - Regular Groups and Smart Groups.
Regular Groups allow you to explicitly place contacts in a group independent of their characteristics. New contacts are NOT added simply based on some change in their data. For example, you would need to manually assign your Board Members to a "Board of Directors" group. You can then use this group to easily send board-related emails to this group. You may also want to restrict permissions to view and/or edit the contacts in this group.
Smart Groups allow you to automatically assign contacts to a group based on one or more characteristics and/or activities of those contacts. For example, you can create a Smart Group for "Recent Contributors from California" - which combines the "activity" of making a contribution during the current year and the "characteristic" of having an address in California. When new contacts located in California make a contribution, they automatically appear in this group.
For assistance in deciding when to use groups, see Tags vs. Groups vs. Custom Fields.