A CNAME is a type of DNS record used in aliasing a domain name to another.
All CNAME records do not point to an IP address. Instead, they point to a domain. It can be likened to a hunt where each clue leads to another clue until you get to the final clue that leads you to the prize. So, when a domain has a CNAME record, it is a clue that leads you to another clue (which is another domain with a CNAME record), and this sequence continues until you get to the ultimate prize (which is a domain with an A record).
For instance, if a blog – blog.testing.com has a CNAME record whose value is ‘testing.com’ (without the ‘blog’). Hence, when a DNS server hits the DNS records for the blog at blog.testing.com, another DNS lookup is triggered, but this time to testing.com. The lookup will return the IP address of testing.com through its A record. So, here, we can say that testing.com is the true name or canonical name of blog.testing.com