Mi código ha quedado así:
<script>
var heroes = ["Superman", "Thor", "Batman", "Mujer Maravilla"];
for(posicion = 0; posicion < heroes.length; posicion++) {
alert(heroes[posicion]);
}
</script>
Cambie el nombre de la variable de i a posición. De resto, es entender en la parte de posicion = 0, dentro de la función FOR, que esa posición cuenta desde el elemento número 1 de la lista array [], y en javaScript se empieza a contar desde el 0 en adelante. Esa erá la razón por la cual omitia a Superman; al haber colocado posicion = 1 (i = 1), empezaba a contar desde el segundo elemento en la liste, el cual es Thor.