This answer will explain what a CNAME is and what it can be used for.
C Name stands for 'canonical name' and it is a redirection to the zone file of the entered target domain. All entries (NS, MX, A) therefore apply to this target domain.
C Names are primarily used to make it easier to maintain domains with the same basic data, or to assign other domains entered in the same zone the same data as the zone itself.
A C Name record lets you assign a domain or sub-domain to another address or hostname.
You can use C Namerecords in a number of ways.
For example you may have mywebsite.com as your domain name.
If you are worried about someone typing your domain wrong, like ww.mywebsite.com or wwww.mywebsite.com usually that would result in a page not found error. In order to combat this, you could set up a C Name record on your domain for ww.mywebsite.com or wwww.mywebsite.com to point to www.mywebsite.com so that even if someone mistyped the number of "w's" they would still be redirected to the correct location by the C Name record.
You can also use a C Name to point a domain to another domain, similar to web forwarding you could create a C Name record for your domain which points to 123-reg.co.uk. So when you type in www.mywebsite.com in the browser, it will direct you to the 123-reg.co.uk front page.
In summary C Name records can be used in a number of ways, hosting providers may also ask you to use a C Name to connect your domain to their hosting service where necessary for example Apple commonly uses web.me.com.