Hola, Byron!
Tienes un problema con la condición del for, porque la longitud del array de ingredientes va ir incrementando conforme cada iteración, por lo que debería ser "posicion <= ingredientes.length", luego en ese if de tu código estás comparando sólo el "ingrediente" que estás metiendo, mas no lo comparas con el array de "ingredientes"; prueba con "ingrediente == ingredientes[posicion]"
for (var posicion = 0; posicion < ingredientes.length; posicion++) {
if (ingrediente [posicion] == ingrediente) {
repetido = true;
alert("repetido" + ingrediente);
break;
De ahí, para entrar en una condición ésta debe ser solamente verdadera, de lo contrario se iría a un else. Prueba igual con dejar sólo if(repetido), para cuando sea: "repetido = true", la variable booleana sea true y entre a esa condición.
if (repetido = false) {
ingredientes.push(ingrediente);
contador++;
}
Espero haberte ayudado (igual espero no haberte confundido). Que estés muy bien.