Groups, Tags, Custom Fields, Relationships: What do I use for what?
The objects and relationships in CiviCRM are purposely flexible and can be used in a variety of ways. Below are the current "good practices" for Groups, Tags, Custom Fields and Relationships.
Groups are collections of contacts that a user of the software will regularly take action on (i.e. send an email, set permissions, map on google maps). A partisan organization that does get out the vote activities might set up a group "democratic organizations" becuase they generate walk sheets, call lists and email those folks.
Tags are a more "free form" categorization tool. Tags describe characteristics of contacts. If you are an association and you often have internal partisan tensions, you might want to tag democratic organizations so you know which is which. If you want to take an action on a characteristic of a contact (i.e. democratic organizations), you'll probably create a smart group that automatically includes all groups tagged "democratic organizations".
Custom fields are new data about an organization. Custom field data is most often used if it needs to be efficiently used by external system (e.g. export to a spreadsheet or database). If you are going to export whether an organization is a "democratic organization" or "republican organization", that information should be coded into a custom field rather than a tag or group. If you are going to take action on a group based on the value of a custom field, you would create a smart group that automatically includes all contacts with CustomField="democratic organization".
Relationships are used to describe the relationship between two contacts. Relationships between the "owner" or the database and contacts in the database will be most often coded as groups (e.g. Volunteers). If there are multiple "owners" of the database, you might want to code some thing like volunteer as a relationship. (e.g. OwnerA-->volunteer-->ContactA; Owner B-->volunteer-->Contact B) and set up smart groups based relationship information to support