A resposta simples para a pergunta é que as seqüências de caracteres disponíveis variam de plataforma para plataforma.
No entanto, há seis que precisam estar presentes, portanto, constantes poderiam ter sido feitas para aquelas há muito tempo. Não sei por que não estavam.
O JDK 1.4 fez uma grande coisa ao introduzir o tipo Charset. Nesse momento, eles não desejariam mais fornecer constantes String, pois o objetivo é fazer com que todos usem instâncias de Charset. Então, por que não fornecer as seis constantes padrão do Charset? Perguntei a Martin Buchholz, já que ele estava sentado ao meu lado e ele disse que não havia um motivo realmente particularmente bom, exceto que, na época, as coisas ainda estavam pela metade - poucas APIs do JDK haviam sido adaptadas para aceitar Charset, e dos que eram, as sobrecargas de Charset geralmente tiveram um desempenho um pouco pior.
É triste que seja apenas no JDK 1.6 que eles finalmente terminaram de equipar tudo com sobrecargas no Charset. E que essa situação de desempenho reverso ainda existe (a razão pela qual é incrivelmente estranha e eu não posso explicar, mas está relacionada à segurança!).
Para encurtar a história - apenas defina suas próprias constantes ou use a classe Charsets da Guava à qual Tony the Pony se vinculou (embora essa biblioteca ainda não tenha sido realmente lançada).
Atualização: uma StandardCharsets
classe está no JDK 7.
MessageDigest#getInstance()
a propósito.