Tomcat is an application server but doesn't suppor ALL of the J2EE stack.
Most notibly, EJB is missing.
If your application requires EJB support and you want an open source application server, look at
JBoss. It supports the full J2EE stack.
It uses Tomcat as it's
Servlet conatiner and
JSP engine.
In addition Tomcat is fully capable of running as a stand-alone webserver but can also be connected to the Apache Webserver or IIS. This allows you to use the other webserver for handling static files, ASP, PHP, Perl, etc.. and send to Tomcat only those requests that need to be processed with server side
Java.