Domain names are part of the public DNS system, run by an (officially) international and independent body called ICANN. The main purpose of the DNS system is to allow one to use words instead of the numbers of an IP address to find a website, or any other "host" on the Internet. It is much easier to type "yahoo" into the address bar of your browser, and have the browser to convert it to "http://yahoo.com/", which DNS will then convert to an IP address, than to type in "http://188.8.131.52/" . In addition, the use of a name allows the site owner to quickly and transparently change to a different server or network if there are technical problems with one.
* how they work
The DNS system is hierarchical. In general, except for the name of the protocol at the beginning, you read a URL from the right. Take http://www.broker-re....us/index.shtml or http://broker-reviews.us/index.shtml (one of my sites). Ignore the index.shtml at the end. It has nothing to do with the domain name; it is a specific document on my virtual server. Since the virtual server has a default document, if you just type in the domain name, with a protocol name and a trailing slash if you have a browser which doesn't provide them, you will get the same document.
Once DNS starts to look for a numerical address corresponding to broker-reviews.us , it first checks to see if you are on the same domain. You aren't, because I "own" (really 'rent') that domain, and would know if you were on it. It then checks to see if one of the local DNS servers has a copy of that name cached, if it has been used recently by someone near you. Unlikely. It then goes to the end of the domain name and sees .us. It checks copies of the few main ICANN servers to see where it can find a list of "second-level domains" in that "top level domain". It goes to one of those DNS servers and finds the corresponding IP address, and then sends your request for a document to my virtual server. The www. near the beginning of the URL used to represent a subdomain, and if it were replaced in something like "george.broker-reviews.us" it still would, but today the www. means very little. On my server, like many others, it's a meaningless redirect.
Some top level domains are called "unrestricted" and some are called "restricted". Anyone can rent ("buy") an unrestricted subdomain like .com or .org. Many top level domains are restricted, and some are more restricted than others. .us is technically restricted to US citizens, companies located in the US, or companies doing substantial business in the US. It is technically restricted, but very easy to get. If you try to get your own .mil domain, on the other hand, you will find it impossible.
There are retailers for domains because ICANN, who really controls the domain system, doesn't sell domains to the public. Some retailers are authorized by ICANN directly to sell domains to the public, some are "resellers", who are in effect marketers for domains sold by others. You will find different opinions on the different retailers all over the Net. One warning: it is usually bad to buy a domain name from one of the more expensive retailers, like Network Solutions, because their service is no better and often worse. You'll just pay more for the same name. You also might want to avoid the very cheapest resellers, who may be fly-by-nights who won't be there when you need to renew your domain, which will cause problems for you.
* who 'holds' then i.e. what are the point of retailers
It's very hard to answer that one. Ask a more specific question, and I'm sure that someone here will try to help.
* anything else i need to know