The question may sound stupid but I find it very difficult to understand that why do we have to pay for a domain name if the web is free? And who do I pay? Why do I have to pay for a domain name?
You don't actually buy the domain name, you rent it from your registrar. The price you pay them is for the service of routing the domain name to an actual server. Without that service a domain name would lead nowhere, they have to point visitors to the right server. They need servers to do that, which you pay for.
If I go to "http://webmasters.stackexchange.com," how does my browser know how to find the server for "webmasters.stackexchange.com?" It knows through using DNS lookups, which means it needs to ask a DNS server if it knows the address of webmasters.stackexchange.com.
So who owns those DNS servers? Typically, it will be your Internet provider; they aren't personally responsible for knowing the address of every web site across the 'Net.
So who is responsible for telling all DNS servers where web sites live? Domain name registries are. Somebody needs to be an ultimate authority on addresses for domain names; if nobody was, then anybody could pretend their servers go to your domain name. Obviously, managing domain names takes support people, developers to give webmasters the tools for managing domains, servers, and many other things that cost money.
That's why you have to purchase a domain name, so you can claim ownership and pay for the costs of the services provided by the registry. However, there are services, like DynDNS, that let you buy (or use for free in a limited fashion) a sub-domain under a domain name that they own.
Question: Why do we have to pay for a domain name if the web is free.
Answer: Yes. The services; most of them; provided by the world wide web is free. Domain names are the building blocks of the world wide web. They act like 'markers' for websites. They are just names, identities(you can say). They need to be pointed to a server(that actually hosts your data; your website in simple terms).
There are four important aspects here:
1) The Registry: The Registry is an entity that manages TLD(Top level domains like .COM,.NET). The registries need to be accredited by ICANN in order to sell domain names for TLDs or ccTLDs. Verisign is a registry for .COM and .NET domain names.
2) The Registrars: The Registrars tie up with various registries to sell domain names belonging to multiple TLDs, ccTTLDs under one roof. For example: Godaddy is a registrar.
3) The Registrant: The Registrant in this case would be you, that is the person who registers a domain name for a fixed period of time(usually 1-10 years).
4) ICANN: The ICANN is responsible for managing this entire process and acts like a regulatory body.
Now the big question: Who do I pay? *Answer:* When you register a doamin name, you pay a major portion of the domain name registration fee to the registrar(Godaddy for example). A very small portion of this amount is paid to the Registry(for example Verisign). The domain registration cost includes this minor amount.
Why do I have to Pay? Answer: This is similar to any other business that is done in order to earn money. As the Internet started growing, people thought of this system to make money.(just like any other business) -Earlier, websites were accessed using the IP addresses. Read about Hosts.txt file if you want to know more. You can also read about DNS, DNS resolution process.
The web isn't free. It costs money to make it work, although this cost is spread over various companies etc that run the web servers that serve web pages to the masses.
We buy a domain name so that we own it for a certain amount of time, and we pay the company who we register it with to host it on their name servers. If the domain name isn't on a name server then no one will be able to reach your website. If these companies gave the domain names away for free, how could they afford to run their name servers?
But, this doesn't mean you should go paying over the odds for a domain name. Nominet (the UK registrar agency) charges it's members £5 for a .co.uk. I've worked for a company before (before I knew any better I might add) who would charge customers £25 for a .co.uk. Places like 123-reg.co.uk offer reasonable prices for domains.
The web, unfortunately, mirrors real life. Nothing is free, everything that makes it work costs a certain amount of money to run.
You get a domain name (from a non-technical standpoint) for marketing and usability reasons. You could if you like forgo the domain name and just use the IP address of your server, but no one would remember it and many would be skeptical to visit it.
The domain registrars allow you to convert your address into something brandable, I think of it this way do your offline marketing materials say this is from "123 made up street, example town USA" or do they say this is from "Examples R Us at 123 made up street, example town USA"