Although people often talk about "buying" domains, they are almost always leased for a year or more from a domain registrar. Domain registrars are companies which have been approved by the organization in charge of a particular top-level-domain (such as .com, .net, .org, .co.uk, etc.) to sell domain entries for that top level domain (usually shortened to TLD). If you want a domain, you go to a registrar, who will check to make sure that your desired domain is available. If it's available, they will accept payment and hold that domain under your name for the duration that you have paid for.
Since a domain is fundamentally just a listing in a database somewhere, the domain registrars often compete by trying to keep their prices lower than the competition. But they are still in business to make money, so they will very often have other things that they'd like to sell you in addition to the use of a domain name. Registrars will sell you web hosting, email hosting, DNS hosting, and a variety of other services. Sometimes registrars will provide services and products for free in order to attract your business. This can include "privacy protection" which prevents strangers from easily accessing the name and address of the domain owner, "site builders" which help novice users quickly put a site together, and DNS hosting.
There are a few well-known registrars, but the best known aren't necessarily the best registrars. It pays to do a web search for something like "good registrar" or "recommended registrar" and select a short list of popular registrars. The search for reviews of your registrar. If you are using XYZ Registrar (a fake registrar name that I just made up), search for information on "XYZ registrar reviews". You should be looking for registrars who allow you to easily set up and maintain the information associated with your domain. This usually is done using a web-based "control panel", so you may find that one domain has a well regarded panel or that another domain will try to sell you a dozen things before they will let you at their control panel. And you should obviously consider price when picking a registrar.
Since a domain is fundamentally just a listing in a database somewhere, the domain registrars often compete by trying to keep their prices lower than the competition. But they are still in business to make money, so they will very often have other things that they'd like to sell you in addition to the use of a domain name. Registrars will sell you web hosting, email hosting, DNS hosting, and a variety of other services. Sometimes registrars will provide services and products for free in order to attract your business. This can include "privacy protection" which prevents strangers from easily accessing the name and address of the domain owner, "site builders" which help novice users quickly put a site together, and DNS hosting.
There are a few well-known registrars, but the best known aren't necessarily the best registrars. It pays to do a web search for something like "good registrar" or "recommended registrar" and select a short list of popular registrars. The search for reviews of your registrar. If you are using XYZ Registrar (a fake registrar name that I just made up), search for information on "XYZ registrar reviews". You should be looking for registrars who allow you to easily set up and maintain the information associated with your domain. This usually is done using a web-based "control panel", so you may find that one domain has a well regarded panel or that another domain will try to sell you a dozen things before they will let you at their control panel. And you should obviously consider price when picking a registrar.