Estou olhando para as mesmas duas alternativas que você está, entendido, para vários projetos.
Até agora, a melhor máquina de barbear que descobri para decidir entre eles para um determinado projeto é se eu preciso usar Javascript. Um sistema existente que estou tentando migrar já está escrito em Javascript, então sua próxima versão provavelmente será feita em node.js. Outros projetos serão feitos em alguma estrutura da web Erlang porque não há base de código existente para migrar.
Outra consideração é que Erlang pode ser dimensionado muito além de apenas vários núcleos, ele pode ser dimensionado para um datacenter inteiro. Não vejo um mecanismo embutido em node.js que me permite enviar uma mensagem a outro processo JS sem me importar em qual máquina está, mas isso está embutido em Erlang nos níveis mais baixos. Se o seu problema não for grande o suficiente para precisar de várias máquinas ou se não exigir vários processos de cooperação, essa vantagem provavelmente não fará diferença, portanto, você deve ignorá-la.
Erlang é de fato um poço profundo para se mergulhar. Eu sugeriria escrever um programa funcional autônomo antes de começar a construir aplicativos da web. Um primeiro passo ainda mais fácil, já que você parece confortável com Javascript, é tentar programar JS em um estilo mais funcional. Se você usa jQuery ou Prototype, você já começou a trilhar esse caminho. Tente alternar entre a programação funcional pura em Erlang ou um de seus parentes (Haskell, F #, Scala ...) e JS funcional.
Quando estiver confortável com a programação funcional, procure uma das muitas estruturas da Web Erlang; você provavelmente não deveria escrever seu aplicativo diretamente para algo de baixo nível como inets
neste estágio final. Veja algo como Nitrogênio , por exemplo.