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.
Not every registrar sells every top-level domain, so if you want an uncommon TLD like .pizza, you might have to try a few registrars. Unusual TLDs often cost more than a standard .com address, but provide built-in memorability and give you more name options, since far fewer .pizza addresses are already taken. You can check name availability at any registrar that offers the TLD you want.
Domain names can be used in a number of ways. Direct visitors to your website’s home page or use complementary domains to send them to specific areas of your website ( e.g. yourcompany.jobs for a careers page). Or, forward a custom domain to an existing social media account, like your Twitter profile or Periscope channel. With a domain name you can even set up custom email addresses like email@example.com, which can be used to conduct business or communicate with your followers. More.