DNS stands for Domain Name System and is the system to translate friendly hostnames like example.com into the IP addresses of the server the website is hosted on.
cname - canonical for pointing a hostname to another hostname. For example if you want to have a sub like about.example.com. You always want it linked to the same server so you'd set up a cname to point to it so if you ever move then you only need to update the central a record and don't have to worry about all the different ones. For example mail.me to mail.google. Would set up as a cname to point to google and your config is set while google can redirect you to their changing ip.
NS - nameservers are dns servers which help to resolve domains. For example at the registry would have ns1.atd.
MX records - defines where email goes for particular domain name. For example you can have multiple mx records per domain.