What is a domain name and how does it relate to web hosting?

A domain name is like an address for your website. It is mainly used to get browsers to your website content (it also handles email). To own a domain name, it has to be registered with an authority. This incurs a recurring fee (usually yearly) which varies from registrar to registrar, and also based on the top level domain (TLD) it is for (i.e. .com, .org, .co.uk, etc.). You can register a domain name with any one of many registrars. We include domain name registration as part of our service; we do this on your behalf, and it’s free for one domain with most of our shared hosting packages for a select number of TLDs.

When you type a domain name in your browser (such as yourdomain.com), your machine needs to somehow show you the website you are after. For the purpose of answering this question, all you need to know is that, when you type a domain name into your browser, several systems communicate with each other in order to go from the domain name, to the actual (IP) address of the server serving up the website files for that domain. This process is called Domain Name System (DNS) resolution, and depends on the domain information set by the registrar in public WHOIS records. Often, your registrar will allow you access to these DNS settings. A typical flow for this process would be:

Request yourdomain.com in browser
-> WHOIS lookup
-> Find Name Server for yourdomain.com from WHOIS lookup
-> Find out IP address of web server for yourdomain.com from Name Server
-> Request website files from web server (via IP address)
-> Voila: Website!

UPDATE (2016-03-07): For more info on how DNS works, check out this awesome guide by Web Hosting Geeks: