Para concatenar algo a una cadena necesitas que sea un valor valido, es decir en este caso necesitas que primero se ejecute la parte del operador ternario para que te devuelva ya un String y no tengas problemas al concatenarlo, como lo tienes estas intentando concatenar una cadena con un condicional lo cual es erróneo.
Para corregirlo solo encierras entre parentesis toda la parte del condicional asgurandote que esto se ejecute antes de querer concatenarlo con tu cadena.
Código corregido
alert('Acertaste, el número es: ' + numeroUsuario + '. Lo hiciste en ' + intentos + (intentos === 1 ? ' vez' : ' veces'));
Aquí te doy algunos ejemplos de cuándo podría ser conveniente usar el operador ternario
1. Asignación condicional
// Ejemplo 1: Asignación de valor basado en la comparación
var edad = 20;
var estado = (edad >= 18) ? "Adulto" : "Menor de edad";
console.log(estado); // Resultado: "Adulto"
2. Retorno condicional en funciones
// Ejemplo 2: Función que devuelve el máximo de dos números
function obtenerMaximo(a, b) {
return (a > b) ? a : b;
}
console.log(obtenerMaximo(5, 8)); // Resultado: 8
Seguramente hay mas ejemplos donde es conveniente usarlo pero solo se me ocurren esos dos.