como o proprio titulo diz qual a diferença ou se tem algum melhor que o outro
Complementando, uma aplicação roda no tomcat e no glassfish ou existe alguma customização para sair de um web container e migrar para outro ?
a diferença básica não muda muito analisando principal objetivo de ambos, application server container, porém o glassfish atende por obrigação implementação de toda infra-estrutura do Java EE, bem como servidor de aplicação para diversas configurações de ambiente adicionais.
atualmente estão acontecendo muitas coisas em paralelo, então a resposta depende do ponto de vista, ou até do nível de influência que a pessoa tem ao responder esta pergunta. alguns declaram abertamente que o tomcat é depracated, outros recomendam outros servidores de aplicação, bem como o tomcat em primeiro caso, ou até mesmo para alguns eternamente devido ao seu grau de envolvimento e segurança no seu uso.
em alguns pontos de vista vejo tomcat para uso mais prático e por outro lado a nível mais crítico, outros como glassfish, jboss, jetty, etc.
alguns comparativos se você for analisar com mais calma no google poderá te ajudar a entender melhor quais critérios atenderão suas necessidades a curto e longo prazo