Respostas:
O Nginx é muito mais leve, ocupando menos memória e outros recursos. Por outro lado, o Apache possui mais módulos esotéricos, suporte interno para muitas outras coisas e é mais amplamente usado, tanto em geral (mais documentos e postagens no blog sobre como usá-lo para tarefas diferentes) quanto com o Passenger (e muito mais já foi encontrado e corrigido).
Em um nível mais subjetivo, acho o formato do arquivo de configuração do nginx mais fácil de trabalhar e o modelo de processamento de solicitações mais intuitivo.
Aqui está um golpe para o NGINX:
Enquanto estou me acostumando ao NGINX, diria que estou surpreso com a frequência com que preciso reiniciar o servidor NGINX ao configurar regras de reescrita e criar novos diretórios para aplicativos, etc.
Dito isso, acabei de configurar o Passenger, Ruby Enterprise Edition e Nginx em um VPS com 360 MB de RAM. Tenho experiência limitada com o Apache em um ambiente de hospedagem compartilhada há alguns anos. Os arquivos .htaccess do Apache, se bem me lembro, pareciam ser mais dinâmicos. A falta de configuração dinâmica parece não ser um problema, pois o VPS é meu.