Here’s my understanding of it (as just another customer).
You have to think of it as two different services: a) hosting, and b) domain name. Each service has a one-time setup cost, and a recurring “subscription” cost. Let’s look at these.
Your hosting plan allows for a handful of domains. The actual number of domains depend on what plan you have. You only pay the hosting fee once for the entire plan. That gives you disk space and features which you can use on any domains you host within that plan. This fee is normally billed monthly or yearly. There may also be a one-time setup fee, but DH waives that if you sign up for yearly billing.
In addition to the hosting plan, there’s the domain name itself. In order to keep your domain name, you have to pay a fee to the domain name provider, or registrar (this might also be DH but can be another company). That’s usually billed on a yearly or bi-yearly basis. And in order to get the domain in the first place, there’s a one-time registration fee.
Hope this helps.