There is no difference between a contact label and a contact list. They are the same thing. A label (or contact list) is an entity used to organize contacts, similar to how a category organizes products.
A group (or domain group) is a collection of users, for example, marketing@yourdomain.com, who share a common email address. When you share a contact label with a group, all the group members will have access to the label.