Por que o Break é necessário ao usar o Switch?

Eu já li algumas respostas no SO, mas não consigo encontrar uma resposta definitiva sobre o motivo pelo qual, se essa quebra for omitida, neste caso, o caso "C" será sempre avaliado como verdadeiro e a nova matriz preenchida será apenas "G " Entendo claramente que o intervalo seria melhor usado aqui, pois estou apenas procurando avaliar uma correspondência específica, mas não para saber por que o último caso é sempre verdadeiro se o intervalo for realmente omitido.

 var dna = "ATTGC";
 var outArr = [];
 dna.split("").forEach(function(e,i){
    switch(e) {
        case "G": outArr[i] = "C"; break;
        case "T": outArr[i] = "A"; break;
        case "A": outArr[i] = "T"; break;
        case "C": outArr[i] = "G"; break;
    }
    console.log(outArr);
  })

questionAnswers(3)

yourAnswerToTheQuestion