Saying .com is not a monopoly is like saying major league baseball is not a monopoly because there are minor leagues....

In this case, the major leagues haven't allowed the minors or another
major to form.

We register lots of domains for people and are quite familiar with the
various reasons they have. The major ones are (in random order):

1) A memorable name
2) An obvious name (ie, guess what an address is given company name)
3) Grab it now, there is a limited (ie just 1) supply
4) Provider independance
5) A short name

The .com monopoly makes 1, 2, and 3 much more significant. Creating
a few more TLDs that are appropriate for commercial use would weaken
this effect substantially and promote the concept that domain name is
just a name.