Well I know you can purchase them at Godaddy, Yahoo, ect. But where does godaddy get them from? Do they just make them out of thin air with 100 percent profit? Is it possible to make your own for free?
They have certain laws that you must abide by and you have to pay certain fees, etc. to become a domain registrar company. It's a lot more complicated than you can imagine. But, domains are actually IP address that companies host. It's a really long story, google search domain registrar