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.
A domain name registration is simply reserving your website's name for a specified period of time. The two parties involved with a domain registration are generally the user who is registering the domain and the domain registrar. The domain registrant is the user who actually registers the domain name and the domain registrar is the company who helps that user with their domain registration.