Hosting your domain and your “host” are different than registering your domain and your “registrar”.
In order to have a website that people can visit and interact with, you need to “host” your website on a domain name. Technically you are paying to host website files on a server AND for the data transfer that occurs when people visit your website. There are a lot of other things that come with hosting and extra you can pay for, but this is the gist.
An easy way to understand this is:
The address of a house is like a domain name – the address of your website.
The house itself and the resources it uses are like the website itself, what people see and interact with.
The basic two steps everyone has to do in order to have a website are:
2. Pay for hosting.