When you are registering a domain name by a registrar, what actually is happening is that you pay a designated registrar to add your website name to registry database. The registrar itself has to pay annual fees i. g. for a .com domain it pays a maximum of 7.34$ to VeriSign and 0.18$ to ICANN (Internet Corporation for Assigned Names and Numbers ).
But you do not need to worry about that at all!! All you need to worry about is to find a good registrar with a reasonable annual cost. The rest will be done automatically. Overall this is not a very complicated process if you have one or a few websites. The user interface of the registrar might be friendly or not but this is not something that you need to deal with everyday. You register your website, you set your name servers to the ones you get from your host, and you are done! If you happen to have more than few websites and you want to apply changes to all of them at once then it is a little bit more tricky and having a registrar with good user interface would help.
Next question: which registrar is good? Really there is no registrar that you can say it is the best, go use this one!! Different people prefer different registrars. As I mentioned, it is not a painful process so try to find the cheapest one! I will name some of the popular ones here:
Godaddy.com : This is the biggest! I have registered my domains here and had no problem. The good thing is that there is usually a promotion going on and you can usually get a .com domain for 8-9$ a year. If you want to find the promotion code check here.
The price for private registering is an additional 8$.
namecheap.com: This is another popular site. Apparently the interface is nice. I have not tried it though.
1and1.com: The prices here are tempting.