Well, there's a bit of a difference here. Those hosting companies are running virtual
servers from within Apache.
Your current document root is /var/www
If you want a "simple" server, you can just place everything in there, and ignore the public_html directory. The concept of public_html is to allow files to be served from a user-accessible directory.
i.e. if your web host (bigcompany.com) has clients Mr. Smith (smith.com) and Mr. Jones (jones.com) they could set it up as follows:
/var/www (bigcompany.com's site)
Now, smith.com will be served out of /home/smith/public_html but that directory will appear to be the top level.
I usually set this up on systems so that users can have their own personal web space, but it is midifiable from within their home directory (to keep permissions and ownership simple) and also, being in their home directory, the space is calculated as part of their quota for /home.
These can also be accessed without virtual servers, by using the ~ preceding the user's home directory - i.e. in the above setup, with only one virtual server (the default) and with public_html enabled:
typing in www.bigcompany.com
will serve from /var/www
will server from /home/smith/public_html