ICANN publishes the complete list of TLD registries and domain name registrars. Registrant information associated with domain names is maintained in an online database accessible with the WHOIS protocol. For most of the 250 country code top-level domains (ccTLDs), the domain registries maintain the WHOIS (Registrant, name servers, expiration dates, etc.) information.
Who is in charge of all of these processes? Most countries manage a Network Information Center (NIC). An NIC is the main database that has all the information regarding what domain names have been registered and the IP address associated with each of those domains. The nonprofit organization the Internet Corporation for Assigned Names and Numbers (ICANN) is in charge of creating and managing the procedures for internet namespaces.
Domain name registrars, in case you didn't know, are the companies that manage all the website domain names you'll see (EG: Inc.com) - the fingerprint of your business, which may also include the hosting and privacy measures. For example, by default many companies will actually over-price the simple process of keeping your registration information private (which if it isn't can be found via a simple Whois search).
GoDaddy used to be a place I'd recommend only as a joke, but has significantly improved their service. They'll recommend you domains based on certain keywords, which is useful if you've not got the one you want available (they'll actually remove these from the search to try and not break your heart), and they've also significantly improved their hosting offering. They still continue to offer weird things like "email services" that other hosting companies provide too. Our GoDaddy Review.
Sedo is where I bought my domain - over Escrow - and is a global marketplace to buy, sell, and park domain names. They've over 18 million domain names for sale, but the big part is that they're a huge, well-respected company. This may not be important if you're spending $150 on a domain, but in a $15,000+ purchase - which happens in many cases - you will be potentially buying from a foreign entity, that you don't know, and many of them will suggest an escrow payment. This means you put the money in an account owned by a third party that will hold it and only pass it on once the domain has been transferred over into their name (which in this case is what Sedo does). This can be quite disconcerting - but Sedo is well-known and has done many, many deals - and the process is about as full of hand-holding as handing tens or hundreds of thousands of dollars for a domain name can be.
In order to register any domain, you must provide certain personal information that you may not wish to be publically searchable in the Whois database. Signing up for WhoisGuard is a great way to keep your registration data private. WhoisGuard acts as a "shield" for your searchable information, displaying the address, phone number, and email of the domain registrar (Namecheap, e.g.) instead of your own. Keep in mind that WhoisGuard is an optional security add-on that must be renewed separately when you renew your domain.