I don't think that there's a substantial difference there in Tomcat 5, 6, or even 4, so I don't know how it managed to work before.
A hostcat host has a "webapps" directory which can be home to deployed webapps. You can deploy webapps without anything going into this directory, if you drop a WAR or exploded WAR into that directory, it will automatically be deployed.
If you drop the WAR in without qualifications, the webapp will be deployed under the same context name as the WAR (minus the ".war" extension, if it's a true WAR file). So if I plopped in a "myapp.war" file into Virtual Host #1's webapps directory, it would serve that webapp up under
http://virtualhost.mydomain:8080/myapp", assuming no fancy reconfigurations.
There's a special case, however. The standard Tomcat server config is defined as having the webapp context "/" as being mapped to the exploded WAR named ROOT under the webapps directory (again, unless reconfigured). That's why things worked as they did. ROOT is just the default webapp for when your URL doesn't include a context name.
It's important to make the distinction between the webapps directory (TOMCAT_HOME/webapps) and the default context web application (TOMCAT_HOME/webapps/ROOT). One is a repository for webapps, the other is one of possibly many webapps. Each webapp is deployed at the top level withing the webapps directory. URL mapping to that webapp is done by default, or by applying a series of rules. Those rules actually include the ability to deploy webapps without them being copied to any child of the TOMCAT_HOME directory tree at all (which is how I deploy apps for testing). But that's not something you're doing.