O melhor servidor depende muito do que você está tentando fazer.
Se você quiser apenas testar aplicativos Web simples (JSP / Servlet), o Tomcat provavelmente é a maneira mais fácil. É empacotado no Ubuntu. A documentação do Tomcat em seu site não é tão abrangente quanto poderíamos desejar, mas você pode encontrar facilmente bons livros no Tomcat. Agora há mais e mais boas soluções de monitoramento para o Tomcat, então o Tomcat está dando uma boa solução mesmo para implementações de produção de grande porte. (Eu espero em um banco privado e estamos nos afastando do BEA Weblogic para o Tomcat).
Se você deseja um servidor robusto de nível empresarial, o JBoss ou o Glassfish são boas soluções, mas são um pouco mais difíceis de configurar.
Se você deseja uma solução completa com um monitoramento muito bom, experimente o BEA Weblogic. Eles têm uma versão de desenvolvimento gratuita, mas se você quiser fazer implementações de produção, esteja pronto para separar algum dinheiro.
Eu não tenho experiência com Resina, mas ouvi coisas boas sobre isso ...
Se você estiver usando este servidor para desenvolvimento, precisará ver qual servidor está bem integrado ao seu IDE. O Eclipse integra-se muito bem com o Tomcat e também se integra à maioria dos servidores de aplicativos de código aberto. A integração do Eclipse com o Weblogic não é tão boa quanto poderia ser. O Netbeans é conhecido por se integrar bem com o Glassfish (não é surpresa), mas eu não uso o Netbeans.
A minha escolha para um servidor de desenvolvimento seria o Tomcat, a menos que eu estivesse trabalhando em um projeto em que eu realmente precisasse de EJBs. Se o servidor de produção já for escolhido (o que é o caso na maioria das vezes), tentaria usar o mesmo servidor para o dev, a menos que seja um servidor muito pesado (como o Weblogic). Neste último caso, eu tentaria usar o Tomcat e o Weblogic para ter uma velocidade melhor.