Segments and Tags can be a little confusing because technically they can both be used to organize Contacts.
Segments are used to automatically organize contacts by common attributes defined using filters.
Tags are used to organize contacts by manually applying and removing tags.
Segments are automatic and Tags require someone to manually add and remove.
Why Segments are better than Tags in most scenarios
Because contacts are automatically added and removed from Segments and tags require manual intervention. To create a Segment, you simply filter your contacts and save as a Segment. All contacts now and in the future will fall in and out of the Segment based on the filters you defined.
Then why use Tags at all?
Tags are still a very important tool when used properly. Tags should only be used when the criteria for segmenting a Contact is determined by the Zingle user on the fly and manually applied. A good example of this is if a conversation requires a "manager review". In most cases, a person needs to determine which conversations require manager review, this cannot be determined by a custom field attribute.
A good rule of thumb is that if you can segment contacts by applying filters, then Segments are the way to go
Filtering Contacts by Segments and Tags