You should find that /home/tomcat/app is what's known as an "exploded WAR". Tomcat supports running webapps whose WAR files have been unzipped, although this is not part of the
J2EE spec. Despite the fact that this is a directory instead of a file, there should still be a WEB-INF subdirectory with classes and lib under it, although people have been known to create "dirty" WARs and leave these essentials out.
The stock distro for Tomcat is that everything is located under a single directory root. For people running multiple Tomcats, they can clone this structure and strip out the sharable parts and define CATALINA_HOME and CATALINA_BASE to reflect the differences.
OS packaging of Tomcat can take this one step further. A simple way to install Tomcat is to simply unzip/tar it to the /usr/local or /opt directory. But OS packages often prefer to arrange files more in accordance with the Linux filesystem standard. Which means things like not putting mutable files under /usr/local, putting config files under /etc, workfiles under /var, logfiles under /var/log and so forth. That's fine, but since Tomcat is coded for the other way, the package installers will often create these various files in their "proper" locations, and then construct softlinks from the master location to the actual location. So, for example, /usr/local/tomcat6/conf might link to /etc/tomcat6/conf, /usr/local/tomcat6/work could be /var/work/tomcat6 and so forth.
That way both the OS purists and Tomcat are happy. And, as long as you use the package manager to maintain things, no problems. If you start playing around manually with these items, however, it's best if you have good understanding of what you're doing.
In Ubuntu, the "dpkg" command will show you where things got put, I believe. In the Red Hat versions, the "rpm -qil xxxx" command will do it (substitute the package name for "xxx").
It's not actually essential that TOMCAT_HOME/conf/Catalina/localhost exist, but it does, it will be searched for deployed webapps. Also, if you're running a Tomcat with multiple hosts, there may be other deployment directories as well, but let's leave that for another day.