Domain name
A domain name is the address your customer is going to use to reach your website : for instance steven-luong.com
https://en.wikipedia.org/wiki/Domain_name
(More in depth here : https://www.websiteplanet.com/blog/ultimate-guide-to-choosing-a-domain-name/ Thanks Emma ! )
For a given domain, you could have different subdomain : for instance www.steven-luong.com or blog.steven-luong.com
Once you buy a domain, all the possible subdomain are yours.
Pricing : This costs in general around 20$/y
Server / Host
A server or host is an actual computer located somewhere in the world (or what people define as the “cloud”).
https://en.wikipedia.org/wiki/Host_(network)
This website is for example running on a computer in France, provided by OVH
You have plenty of options for providers and can find different benchmarks based on your location and performance needs
Pricing : While it depends on the machine specifications, you could have a server for 100$/y
How are domain names and hosts related ?
A domain name (and sub domain names) points to a specific server / host.
In other words : If someone types your domain name in the browser, the browser would then retrieve the content on a specific host.
For more details :
https://en.wikipedia.org/wiki/Domain_Name_System
As a business owner, you could have multiple domain names (steven-luong.com, slapps.fr) but pointing to the same server or even the same website
Providers
You therefore have different kind of providers : domain providers, hosting providers, sometimes both (like OVH)
Some providers also offers some package solutions (domain + hosting + website tools – see below).
Examples :
https://au.godaddy.com/
https://www.ovh.com/
https://www.siteground.com/