A Contact List is a collection of your selected contacts. You will want to use a Contact List when:
You have a (small) subset of Contacts that you want to keep constant communication, or
You need to do a Batch process, like send group emails, or assign calls, and you need a contact list to hold the target contacts.
A little more explanation on the second item. A lot of 'group / batch' process on Contacts are initiated from Contact Search Result: For example you can
Do a contact search,
Multiple select in the search result,
Do a (Batch) Mail & Print, or do a (Batch) Assign, or do a (Batch) Add/Remove Sales Team
But there are times when your intended target contacts are not easily selectable from one straight forward search. In such scenarios, you will want to
Create a contact list,
Do a contact search, multiple select search result, and 'Add to List' -> your new contact list
Do another search, repeat above
Manually add Contacts to list
When your contact list is ready, do the (Batch) Mail & Print, or (Batch) Assign from the list.