Catalina is the reference implementation of the Servlet API specification. It is packaged in Tomcat along with Jasper (the reference implementation of the JavaServer Pages (JSP) specification.
Catalina will also run servlets that conform to the Servlet API specification separately from Jasper. It has no internal code dependencies on Jasper, although Tomcat as a whole includes some code that optimizes performance when Catalina and Jasper are in fact deployed together.
The Catalina code base has a fairly long lifetime (stretching back to when it was going to be the next version of Apache JServ). Current efforts are primarily focused on integrating the new features requried by version 2.3 of the spec (which just entered public draft status), adding the last remaining bits of functionality present in Tomcat 3.x but not yet in Catalina (support for web server connectors and the ability to run a web application under a security policy), and improving performance. The following documents provide a more detailed look at what's going on.
The following documents describe the internal architecture of Catalina in more detail.