To be fair, someone has to be responsible for deciding which TLD's should exist. Since the modern internet as we know it came from the ARPANet, the US government (specifically the USDoC) formed the ICANN to privatize the management of the public DNS system (they also sit over the IANA by contract from the US government at this time) - everyone else just fell in line and went with it.
> Why? Why can't we have as many custom TLD's as we want? Or why can't my blog just end with .helloworld if I decide to do so?
You can do whatever you want, but the internet runs on consensus and if consensus devolves into everyone doing whatever they want then DNS doesn't add anything beyond just using raw IP addresses.
Ah, but your provider got those IPs from one of the regional registries* (ARIN, RIPE NCC, etc.), who got them from the IANA, which is a division of...ICANN!
(* Unless it's a legacy IPv4 allocation that predates the RIR system.)