I feel sort of stupid asking this but its something I've always wondered Where do websites like godaddy get the domains they sell from? Is there a big overruling group/company with them (if so, why don't we just buy direct?) or is it all decided some other way.
This is a simplified version. There is a .com .net .org etc company. Actually I think those those three are the same company. You really have to be well connected to get the right to .anything. Once you own the rights to a gazillion names ending in .anything you can sit back and enjoy life. GoDaddy and all the others are nothing but resellers for the .whatever owners. The various owners sell the product to them at market based prices and they in turn sell them for what they can get.
Simplified version here : Computers on the internet are identified by an IP address - for example, the yahoo website is on 209.73.186.238 . No two computers will have the same ip address. People find it easier to remember a name rather than an string of numbers - hence a DNS system which allows use of a name like "www.yahoo.com" rather than numbers. Rather than let any kind of name be used, the system followed is to use generic Top Level names (like .com / .net etc.) as the suffix. More info on these at http://www.icann.org/tlds/ Each TLD has a top level authority body (Manager or Registrar) who controls the assigning of any name to a particular owner. Domain name registration sellers like Godaddy / Enom etc. are licensed by the top level registrar to sell any unclaimed domain name, for a fee. They in turn charge a "per name" fee to the person registering a new name. An ordinary individual looking to register one or more names cannot go direct to ICANN (or any other TLD manager) to register the names - he has to go through the resellers. Once you own a name (or rather, have paid the registration fee for x number of years), you can use it for your own website, or resell it to anyone else.
To be specific, the authoritative database for all registration records is called a "Registry". For .com and .net, it's currently run by Verisign. Due to contract restrictions, the Registry can't do register and manage domain names by themselves. Instead they "outsource" (for lack of a better term) only a select number of companies called "registrars" to do it for them. So you register your .com domain with domain registrar Go Daddy. Go Daddy will then submit the registration record to the Verisign COM NET Registry for database holding. Whatever the Registry says, the registrars follow.