Tags are to be used to label people and put them into categories. This helps you with sorting, filtering, segmenting, and reporting on the contacts (and groups) in your database. More about tags.
Groups are an additional hierarchy on top of Contacts, you can think of them as Households, or families, or other groups that can be contacted as a group rather than per individual. Think about when you want to send a direct mail campaign. If you have 5 people from a single household in your contact database, you don't want to send 5 of the same mailer to the same physical address. You only need to send one. This is when you would add those individual Contact Records to a Group Record, then use the Group Reporting to send out your direct mailers.
The only reason they are called Groups rather than "Households" in Flipcause is because we recognize the various kinds of groupings that might exist in this way that are not necessarily households: Businesses, Fraternities/Sororities, and other institutions that need to be addressed as one rather than per individual who is a part of it. More about Groups and how to use them.