The domain name system, simple put, is a system where end-users can use words to locate IP addresses. The ultimate authority within the domain name system (2014) is the (NTIA) National Telecommunications and Information Administration; which is part of the United States Department of Commerce. Before 1998, management of top level domain's - such as com, org, and net - was managed by companies like Network Solutions, LLC. Due to a lack of competition, and a perceived monopoly of top level domain management, the ICANN was created in 1998. The NTIA handed management of the domain name system to the ICANN. The structure of managing domain's and the namespace (names) within these domains was created by ICANN:
Registries - to each top level domain - are assigned by IANA. Versign is the registry of the com domain and Nominet is the registry of the uk domain. Each of these registries can sell namespace within their domain: also referred to as a domain name. The registries usually charge a set fee for a namespace in their domain. The end-user usually cannot buy a namespace directly from the registry. Instead registrars - which are accredited by ICANN - buy the namespace from the registry on behalf of the end-user. The registrar also manages the DNS record of the domain name for the end-user. Registrars, obviously, make a profit during this transaction; how much, is dependent upon the registrar. The rules by which the registrar operate are set by ICANN. ICANN has ultimate authority over domain name disputes; if an end-user (named a registrant) feels an accredited registrar has breached ICANN's domain name rules.
The registrar system was officially launched by ICANN on the 30th of November, 1999. One of the first registrar's accredited by ICANN was Godaddy. There are currently (2014) over nine hundred accredited registrars. A list of accredited registrars was published at the InterNIC website; although this list may be out of date. The InterNIC website appears to heavily redirect to the ICANN website; and may be defunct (as of 2014). Registrars pay a fee to ICANN to become a registrar; an individual/company can apply to become a registrar by visiting the ICANN website and applying through their instructions.