CNAME stands for "canonical name". A CNAME record maps an address to its canonical name. When a name server looks up a name and finds a CNAME record, it replaces the name with the canonical name and looks up the new name. These should only be used when absolutely necessary. You have to be very knowledgeable in DNS management to be able to set up CNAME records.
One of the times where CNAME records can be useful is when you want a subdomain to point to a mail server outside of your domain. For example, if you want "mail.example.com" to go to your registrar's mail server, instead of entering the IP address, you could put in "mail.example.com CNAME webmail.your_registrar.com", so that if the IP address of the mail server is changed, you won't have to make any updates.