Personally, I disagree with their analysis of the situation; it appears to hinge on a disagreement we have over terminology.
Specifically, they talk about "www" as a "sub-domain" with language such as
Why then do many servers require their websites to communicate through the www subdomain?. I tend to call the first "label" of a domain name the "host name" (for want of a better word, since the full name is also a "host name" in my book, as well as a "domain name"). So in "www.livejournal.com", "www" would be the "host name" and "livejournal.com" would be the domain. It's a host inside a domain.
Using http://livejournal.com/ seems weird to me since it appears to be addressing not a single host but a whole domain—even though my browser connects to a certain host, a single machine (possibly one of many sharing the same name in load-balancing situations, but one machine for any given connection). Connecting to a "domain" seems… wrong to me.
They also mention that
Mail servers do not require you to send emails to email@example.com. but that's a red herring in my eyes: mail servers do not require this specifically because of how email works with DNS.
In the olden days (as far as I know), mail to firstname.lastname@example.org would cause the mail transfer agent to attempt to connect to the machine example.com, but we've had MX (mail exchanger) records for ages now, and they're the preferred method for determining which host to send email to.
So when you want to send mail to email@example.com, the mail transfer agent now looks up example.com's mail exchangers in the DNS. Those might be, say, mail.example.com, backup-mx.example.com, and othermx.otherhost.com (i.e., they could even be in a completely different domain name!); then, according to certain priority rules, it will connect to one of those hosts to attempt to deliver the message. Only if no MX records can be found for a domain will the MTA, for historical/compatibility reasons, attempt to connect to a host whose name is the portion after the @ sign.
So the reason why we don't need to write "firstname.lastname@example.org" (if mail.domain.com is the mail exchanger for domain.com) is because of MX records in DNS. But there's no concept of "HTTP exchanger" in DNS; I vaguelly recall a concept of service records (RR SVC?) which could do this (i.e. say that HTTP traffic to domain X is handled by a host named Y), but I don't think that's widely supported.
Historically, a URL of http://FOO for any FOO means to browsers "convert 'FOO' into an IP address by looking up an 'A' record for that name, then connect to that IP address (or one of them, if there are multiple 'A' records". Whereas mail sent to user@FOO means to MTAs "lookup hostnames by finding 'MX' records for 'FOO' and order them by priority. Then take the 'best' MX (with the lowest priority number) and convert that hostname to an IP address by looking up an 'A' record for that name, then connect to that IP address". To rather different approaches.
Where subdomains come in is in names such as www.hpl.hp.com, which for me is host "www" in the "hpl" (HP labs) subdomain of the "hp.com" domain. But in www.example.com, I wouldn't call "www" a subdomain.
If people say that calling the host containing their websites "www" is redundant because you're accessing it with a URL scheme of "http", I can accept that—use a different hostname, such as "web" if you'd like (as MIT did early on, with web.mit.edu being the host with the school's official website, and www.mit.edu coming later and hosting a student organisation) or something completely different such as "argon" or "senator-bedfellow" or "salticus-peckhamae". Call your main website http://marvin.example.com/ if you don't like "www". But give the machine a name of its own, by which it will be known in the domain, and construct the URL by tacking "." + the domain onto the machine name! http://example.com just seems weird to me, like a person without a given name.
I wonder whether the idea that "example.com" can be the name of a machine comes from people accustomed to "Internet" (in the sense of TCP/IP internetwork) = "World Wide Web", and the many domains where they only see IP traffic going to and from a web server, which is often not even on a machine of its own but on a shared webhoster. In which case, I suppose it makes a bit of sense to consider vanityhost.com as the label of the machine since there is only one machine in that domain and it exists to serve web traffic.
On the other hand, I grew up with the model of a domain being a bunch of machines, say, in an office: several dozen workstations, each with a name, a file server or three, a database server, oh, and also a web server. All the machines being something.example.com, and often being able to call each other simply something since .example.com is the default domain for traffic inside. But each host has a name (not merely an IP address) of its own: one single word, which can be disambiguated on the Internet by adding on the name of the domain.