Differenza tra un server applicazioni e un contenitore servlet?

Sto cercando di capire la differenza tra un application server completo (ad es. Weblogic, JBoss ecc.) E un servlet container (Tomcat, Jetty ecc.).

Come si differenziano e quando usare quale?

Grazie,