The process to register a domain name involves 2 or 3 parties [ whose rights and activities are regulated by a global entity called ICANN ] and those are: the 'REGISTRY', the 'REGISTRAR' and the 'REGISTRANT'. The 'REGISTRY' is the entity responsible with the administration of one or more extensions [ .COM, .NET. US. UK etc. ] and the one who provides the underlying infrastructure and knowledge to the 'REGISTRAR' and 'REGISTRANT'.
The 'REGISTRAR' is the ACREDITED entity that provides the service of domain name registration to the 'REGISTRANT'. A 'REGISTRY' may also allow direct registration of domain names by the end user [ the 'REGISTRANT' ], therefore a 'REGISTRANT' may take on the role of the 'REGISTRAR' although that will not bestow upon it the 'ACREDITED' status.
'ACREDITED REGISTRAR' is a very hard and for most, prohibitively expensive status to attain, that requires alongside a lengthy, technically demanding, accreditation process, a payment of over 150K USD licensing fees. [ Add to this the cost of infrastructure and manpower required to run it, and you can see why ] - Finally, there's the 'REGISTRANT'. Anyone who intends to, or did register one [ or several ] domain names, under any desired extension.