I am no longer working in the Web/ IT field, but the question of why people who have personalised email addresses (like email@example.com, rather than firstname.lastname@example.org) or have their own websites need to pay for domains AND hosts/ hosting popped up so frequently over the years that I ran Web Care Takers I thought it warranted a blog post.
For these examples I'm going to use a fictitious man called Samuel who runs a company called 'Ice Cube Collectors'.
So who do I pay for my domain name and why?
Domain names have to be registered with a central registrar (E.G. ICANN in the USA or Nominet in the UK), but it can be either extremely costly (or impossible) to register directly with registrars so you need to register with an agent company. For example: we use Easily for UK domains and Dotster for International domains. Domain registrations don't last forever, so have to be renewed every few years (depending on how long you have them registered for).
Samuel owns the domain name 'icecubecollecor.com' and pays Dotster for domain registration and renewals. Samuel's website is at www.icecubecollector.com and his email address is email@example.com Sam pays a host called Better Web Space for hosting.
So why do I have to pay for a host? What the dickens is a host anyway?
In order for Samuel's website to be seen by the world it has to be on a web-server, and in order for Samuel to receive emails at his firstname.lastname@example.org address all the computers in the world need to know which web-server is the right place to send his emails to. Samuel picks up his emails from the web-server using his iPhone and Microsoft Outlook on his laptop. Both the emails and websites of this world tend to live on the same web-servers, and these web-servers are operated and managed by hosts. They are expensive machines - both to run and to buy - and require very specialist technical knowledge to run safely and securely.
So you have to pay a registrar to keep your domain name current and properly registered, and that domain name is 'pointed' at a web-server, which means that you have to pay a web-host to provide that service for you.
Domain names and hosts are two separate things, but one cannot operate without the other: If you own a domain name but do not employ the services of a host you cannot have a website or email addresses set up on that domain.