The way that competition is supposed to work between registries, is that lots of companies go to ICANN and say “We think we can reliably manage .com, and we think it would cost us [$5] per domain.” ICANN reviews these bids and awards the .com contract, which lasts for a fixed period of time, to whomever they deem best-suited to the job. In this time, other companies can think of ways to manage .com better/cheaper, and try and win the next contract. This, in theory, would provide an incentive for registries to innovate, a big part of which would be in lowering costs.
SnapNames is a web domain name marketplace - meaning that they only deal specifically with domains that are currently owned by somebody else. They offer daily and premium auctions, private brokerage of domains, and buy-it-now listings for buying and selling domain names, including over 30 million domain names that aren't all, as you'll find on some services, exorbitant. They have over three million customers, including a significant number of small businesses, which is worth it.
If you already have a web host, obtain from them the names of their primary and secondary nameservers. Don't worry if you don't understand what these things mean. Just save the information somewhere. The information can usually be obtained from their FAQs or other documentation on their site, usually under a category like "domain name" or "DNS" or "domain name transfer" and the like. If you can't find it, email them. You'll need the information to point your domain name to your website after you buy your domain. Having said that, if you don't have a web host yet, don't worry. Just read on.
Official marketplaces offer a third possibility for domain traders to peddle their product. Domain marketplaces, such as Sedo, GoDaddy.com, or BuyDomains.com, link potential buyers with domain holders hoping to sell their prized virtual property. These platforms function as a kind of domain real estate agency and are known to demand somewhat high prices for their services.
A great domain name is a concise, easy to type, and memorable URL that reflects your brand or your website’s subject matter. Avoid using hyphens, strings of numbers, or unnecessary words to make it easy for your visitors to remember and find your website. Remember: A great domain name is one that your visitors can type correctly on their first try.