J2EE (or now Java EE) is a specification (or perhaps more accurately, a collection of many specifications). When you download the J2EE SDK from the Sun web site, it comes with a reference application server. That is, an application server that is built to the spec and is to be used as a reference guide for others wanting to build application servers, or to build applications to deploy to such servers. The reference server is not intended to be used in production (at least, it was not before, not sure if that is still a true statement).
Tomcat is also a reference server, but for the JSP and Servlet specs (note that this is not full J2EE). Even though it is a reference implementation, it is robust enough to use in a production environment.
JBoss uses Tomcat to handle servlets and JSPs, and adds to that all of the other services necessary to be J2EE compliant. In addition, it contains all of the jar files necessary to build J2EE applications. In other words, you do not need to download the J2EE SDK from Sun to build J2EE apps, you can just as easily download JBoss and use it for building J2EE apps.