A razão pela qual escolhi usar o Redis Pub Sub com Socket.io no meu projeto Real Time Activity Stream (http://blog.cloudfoundry.com/2012/06/05/node-activity-streams-app-2/) foi porque Eu queria ter vários servidores da web (instâncias no Cloud Foundry ou dynos no Heroku). Até onde eu pude ver, o Socket.io armazena as mensagens na memória (de um servidor web), então como ele poderia transmitir para clientes conectados a outro servidor web?
Confira o post e me diga se ajuda