I don't know where you are getting this term from. Everything to the left of a dot in a domain name is a sub domain, hence in http://felgall.com felgall is a subdomain of .com and in http://www.felgall.com www is a subdomain of felgall.com. .com is the toplevel domain and as such does not have it's own root directory.
Once you get to the domain or sub-domain you can then have one or more computers hosting that domain or sub-domain. Each of these computers has a machine name and where there is only one the machine name of www is usually used.
This is just not true. In a typical virtual host www. is set up as an alias of its parent domain. Example virtual host:
The root directory can also be set as a wildcard of the domain so it processes all requests for that domain that the DNS has entries for. Example virtual host:
the default machine name of www is usually assumed so that the person will still reach the right computer to access the site.
Servers do not assume anything. They strictly follow programmed logic.
When a site uses more than one computer for hosting then each computer needs to be given a different machine name and often www1, www2 etc are what gets used.
That is not true. For example www.google.com resolves to two IP addresses (188.8.131.52 and 184.108.40.206) and at each of those IPs there could be any number of individual servers all serving requests for the same domain name (www.google.com). If each machine had its own name how would the clients ever know which one to access?
While I do have several sub-domains within my domain I do not have one called www and if I did then you would be able to access it at www.www.felgall.com.
If that sub domain did not exist the server would return a 404. What you really mean is you do not have a unique virtual host set up for www.felgall.com but instead it is an alias of another virtual host.
That is not true either. Each subdomain must either be explicitely listed in a virtual host or be the subject of a wildcard. If it is neither the server will either pass the request to the first virtual host (which is normally configured with an error message) or return a 404.