There are three things involved in a typical webserver:
The host, this entity (not necessarily a single computer, but in small operations it will well be) is an HTTP server which is explosed at a certain IP and port; it actually serves files (pages, images, etc)
You could very well have a website with only this part, although it wouldn't be too practical - but it could well be free
The domain, with its purchase you literally only get the rights to the name you bought (well, rented) from a registrar, and any subdomains; usually the biggest expense for personal-grade websites
The nameserver (often called generically "DNS"), this is what you actually configure to actually link a domain to a host (or make it alias to another domain, or add arbitrary data in your domain records...)
Often when you buy hosting or domains you can get the nameserver bundled, which is usually good in both less price and less hassle, but nothing technically prevents you from getting all 3 services from different providers.
I personally use nearlyfreespeech.net, they provide all 3 of these services and, as the name implies, can be very cheap (on the order of $10/year) for a static, small, and lightweight website like (sponsored link)
www.gbatrump.net
There is an option with only domain costs, giving the maximum freedom of content, size, and transfer (hosting yourself at home) but I understand that not everyone (me included) can/is willing to leave a computer and a modem on at full power 24/7