Resources
What is a CNAME record?
The CNAME record makes one name an alias of another. Everything else about the target is inherited.
A CNAME says: this name is really that name. The resolver looks the target up and returns whatever it finds there.
A name that carries a CNAME must carry nothing else. That is why the apex of a domain (example.com with no host part) cannot be a CNAME — it already has SOA and NS records.
Chains of CNAMEs work but cost an extra lookup each. Point at the final target where you can.
For mail, a CNAME as the target of an MX record is not permitted. The MX must point at a name that has an address record.