My 2 cents.
DON'T USE GODADDY!!!! DO NOT USE GODADDY!!! I REPEAT, WHATEVER YOU DO, DO NOT USE GODADDY!!!
Namecheap is fine as @mariush said, I personally use 1and1.
JUST REMEMBER, DO NOT USE GODADDY!!!! Have I said that?
Domain registration is the price of your domain that you pay every year, or pay once for more years. Then you will need hosting (this is where your files will reside on the web).
Most hosting companies already provide the DNS Services you need (IE A, CNAME, MX Records) so when you choose a hosting account, and set it up say for
www.example.com, the hosting package will already configure your DNS entries for you.
For clarity, A Record is the one which attaches an IP address to your TLD (top level domain).
So, for example, an A Record will state example.com TTL (the time to live) ie 84000 the Type (A in this case) and the DATA (say 192.168.1.1)
This tells the DNS authorities that when someone types in example.com, it should forward to 192.168.1.1.
A CNAME record, is additional subdomains on your example.com. Please note, www is a subdomain. So, a CNAME record will have something like www added to example.com.
An MX record is your mail (read, email) redirection which tells, again, any mail sent to @example.com to forward it to your server.
But, again this will be usually automatically created by the domain hosting package you choose.
I recommend Hostgator for hosting, as you can get a 4$ / month package, or a 6$ /month package, both will be sufficient.