Name Servers are servers that translate between domain names (www.example.com, example.com) and IP addresses (10.0.0.1)
This is where A, CNAME, MX, and other DNS records are stored and looked up.
Often registrars provide their own name servers for domains registered with them and an interface for setting the DNS records.
A records are a mapping of subdomain, or the special @ and an IP address.
To assign example.com to 10.0.0.1 you may have to use @ rather than leaving the field blank.
@ -> 10.0.0.1
CNAME records are aliases from one name to another.
To assign www.example.com to always have the same address(es) as example.com:
www -> example.com
MX records are Mail eXchange records, this is what controls email delivered to <anyname>@example.com
It's good practice to have more than one record in case one server isn't reachable.