Como em todas as perguntas desse tipo, a resposta é "depende". Os fatores a serem considerados incluem como você se sente confortável com a linguagem / estrutura e quais recursos o projeto requer. Dito isto, criei sites usando várias estruturas, cada uma com suas próprias forças e fraquezas:
Grails
Se eu precisar criar um site rapidamente para qualquer profissional , Grails provavelmente seria minha primeira escolha. O GORM é de longe o ORM mais simples e intuitivo que eu tentei, o paradigma MVC é muito bem executado, há 0 configurações para iniciar a codificação (não se preocupe com URLs, patches de banco de dados, nada), iteração muito rápida (apenas atualize a página), integração perfeita de Java (uma coisa boa no mundo dos negócios) e alguns plugins maravilhosos (por exemplo, Pesquisável é uma coisa de beleza). A maior desvantagem é que a hospedagem pode ser difícil de encontrar (e cara).
Ruby on Rails
Minha experiência com o RoR é muito semelhante à do Grails: MVC bem executada. Do lado positivo, ele tem uma comunidade maior, então os recursos on-line (documentação, FAQ, exemplos de código etc.) são muito abundantes, existem TONELADAS de plug-ins, Ruby é um pouco mais flexível / expressivo / "descolado", e é muito mais fácil encontrar hospedagem (especialmente para projetos pessoais); do lado negativo, o gerenciamento / configuração de dependências é uma porcaria (usei RubyGems no Windows, Ubuntu, Fedora e OSX e tive problemas não triviais em cada um); há um pouco mais de configuração / sobrecarga do que o Grails (em particular, lidar com o routes.rb e vários arquivos de migração de db) e, aparentemente, o RoR tem alguns problemas sérios de escalabilidade.
PHP (incluindo o framework CakePHP)
Se eu precisar hackear algo rapidamente ou criar um site para uso pessoal , provavelmente usaria o PHP. O PHP é, de longe, a linguagem mais fácil de aprender e implantar: faça o download de qualquer um dos pacotes convenientes do LAMP, clique duas vezes e comece a piratear. A comunidade é maior que a do RoR, por isso a documentação é abundante e existem inúmeros plugins (facilmente "instalados" simplesmente inserindo o arquivo php e atualizando a página). A linguagem é simples de aprender, mas algumas coisas no PHP são absolutamente estranhas e é preciso muita disciplina para evitar códigos feios. A estrutura do CakePHP impõe um bom paradigma MVC para ajudar a manter as coisas em ordem, e na maioria das vezes está em pé de igualdade com o RoR, embora eu pessoalmente tenha achado isso um pouco mais pouco intuitivo.
Java (servlets, JSPs, JSTL, struts, Velocity)
Criei muitos sites usando as tecnologias de servlet Java e posso dizer honestamente que não há boas razões para selecioná-los para qualquer novo site atualmente. Eles têm uma curva de aprendizado íngreme, toneladas de configuração para enfrentar (XML hell), iteração lenta devido à necessidade de reimplementar coisas o tempo todo (a menos que você use o JRebel), código detalhado e nenhum "brinde" em termos de funcionalidade. Eu brinquei com o Play! Framework e Spring Roo um pouco e ambos estão fazendo coisas muito legais com código Java mais ou menos "puro" e vale a pena procurar mais.