Although the phrase “buy a domain” became widely used as you do make a purchase during the registration process, it’s not a completely accurate expression. You cannot actually purchase a domain name for life, but you can continue “renting” it, year by year. Assuming that you want to stick with your chosen domain name, most registrars offer automatic annual renewal option.
So, why is that? Why can’t you buy a domain name?
The reasons are economical and it’s actually common sense. ICANN leases you your domain name for a fixed period of time, usually a year. The operating costs for domain registry increase with company growth and inflation, and so does the number of domains that are under its management. So, the registry would have to increase domain extensions’ prices in order to address these costs, which isn’t really a good outcome for businesses.
Renewals are actually a smart thing in the broader picture. In addition to this, ICANN charges something that’s called “domain tax” and it’s about $.18 per year.
Having all this in mind, the most precise expression would be to call someone a “domain holder” instead of a “domain owner”, as you never really own the domain name.