Bem, como você observou, não há failover se colocar todos os ovos do ColdFusion na mesma cesta de servidores. Então, se isso faz parte do seu objetivo, agrupar várias instâncias do ColdFusion em uma caixa não ajudará você.
No entanto, ainda há mérito de ter várias instâncias de CF que atendem ao mesmo aplicativo em uma única caixa: uma recebe várias solicitações de serviço de JVMs.
Uma consideração no passado é que a quantidade de memória que uma JVM poderia endereçar era limitada (principalmente na arquitetura de 32 bits, o que é incomum atualmente), portanto, é possível executar várias instâncias de CF em várias JVMs, com cada benidade da JVM capaz de alocar o máximo de RAM possível. Isso não é realmente um problema atualmente na arquitetura de 64 bits, e as JVMs podem gerenciar de maneira robusta um monte de memória.
No que diz respeito à segunda questão, não tenho experiência direta, mas, em geral, tentaria usar soluções especificamente destinadas à tarefa em questão. Um servidor CF é para processar CFML, e isso adiciona clustering e um grau de balanceamento de carga como um extra, enquanto um balanceador de carga é uma ferramenta dedicada para o trabalho. Eu acho que se você precisa de um sistema com balanceamento de carga e tolerante a falhas, sua situação talvez seja suficientemente crítica, exigindo a melhor solução, que seria usar um balanceador de carga dedicado, se for uma opção. Mas como eu disse, não sou especialista nessa área.