Long story short:
https://en.wikipedia.org/wiki/ICANN and
https://en.wikipedia.org/wiki/Internet_Assigned_Numbers_AuthorityLong story not as short:
ICANN (at least at the moment) is the organization responsible for assigning what's called TLDs to registrars, using their subsidiary IANA, formerly owned by the US government (the internet is a US government thing).
Put very simply they are the people who give out the privileges to manage domain names to various companies or organizations, and also will take a small annual fee whenever you register a domain name.
Authorities that get given the ability to manage TLDs, for example VeriSign who manages .com, .net, and a few others, may or may not do the business end of registering a domain name themselves. If one were to go onto VeriSign's website and look around, you'd quickly notice that they don't sell you domain names, and instead lead you to a company that will.
These companies, like godaddy, are effectively brokers for domain names. They handle the somewhat complicated task of figuring out who needs to get paid (while also taking a cut) for the many many different domain name authorities out there, as well as providing secure access to modify the DNS records for that second level domain on the DNS root servers, which get propagated along the chain.
Not all domain name authorities are like VeriSign though, and there are many, particularly with ccTLDs (country code TLDs like .de .uk .su .us .yu .sm etc) that will handle the registration themselves as the domain authority. These authorities will often want specific restrictions put in place, usually citizenship, mailing addresses, or business interest in their nations. They will also often still allow brokers like godaddy to register domains with them on your behalf too, which is why you can still find those TLDs on their websites.
As for why a random person can't just go redirect google.com to their own page and throw some ads up, in general the requests to modify entries on the DNS root servers (I believe, all of this is research mixed with a bit of speculation, so I could be wrong) go through the IANA, and they ensure that only specific authorities have secure access to modify records for their TLDs, and those authorities secure their own registars.