Contact Groups don’t change much over time and remain more or less constant for your business. They can have hierarchy and be organized into categories. While in theory you can create as many groups as you’d like, they are limited in number from the practical standpoint. Having too many will make the list too long and require much scrolling.
Tags, on the other hand, are a dynamic way to add keyword or label to any object in the system: Contacts, Messages and Activities. These objects can then be accessed later by browsing or searching. Tags are virtually unlimited in number and, unlike groups, can be created on the fly.
Together, tags and groups give you a flexible set of tools to segment and organize your database and quickly share and retrieve information.