"Why only for "personal use"? Why wouldn't this work in a multi-user environment? It seems to me, the sysadmin sets up the available plugins and themes, and since all configuration information is in the database, and each user has a different set of tables, everything should work fine. Your hack is very simple - it just looks at which domain the request comes from, and then sets the table prefix accordingly."
Which is true, and what it's intended for.
But, it doesn't take into account different people as the site administrator.
At the VERY least, you would have to separate out their uploads folder, turn off the theme/plugin/any-type-of-file editor(s), as well as strip out a bunch of code tags with kses.
Which, MU already handles, etc.
"I must be missing something here (I am sure I am!), but it seems to me that a multiuser system could easily be set up using this technique - why use mu at all if this would work?"
It could, but it needs refined a bit. Each blog could be in it's own db, and all kinds of things, but you're getting into different users, who you may or may not trust. In terms of web security, the default should always be to not trust an end user. Period.
So, while the hack I illustrated will in fact let multiple domains be served from a single core of WP, it's intension is for those sites to all be controlled by the same physical person.
For example, all themes are available to anyone. A single person running multiple domains knows which theme is for which site. Where individual users would just activate whatever they wanted.
Now if you added each user to the site as an Author and not an admin, that may work a little better, but then they don't have the control the WP allows for with plugins, etc.
So, bottom line, when there are multiple sites with each having it's own admin, MU is absolutely the way to go vice that hack.