Hola Emiliano!
El código funciona de la siguiente manera:
"factorial" tendrá como valor inicial = 1.
Dentro del ciclo for, la variable "i" funcionara como un contador, y el mismo será incrementando +1 en cada recorrido. Dicho ciclo culminara cuando la variable i sea menor a 11 (es decir 10).
En el primer ciclo, "factorial" será multiplicado por "i" (Con valor = 1) y será asignado dicho resultado a factorial. Posteriormente se imprime el primer Factorial.
Factorial de 1 = 1
En el segundo ciclo, factorial (Con valor = 1) será multiplicado por "i" que ahora vale 2** (Recordar que "i" se incrementa en uno: i++).
Se asigna el resultado de dicha operación y el valor de factorial ahora será 2.
**Factorial de 2 = 2
En el tercer ciclo, factorial (Con el valor de 2) será multiplicado por "i" que ahora vale 3** (Recordar que "i" se incrementa en uno: i++).
Se asigna el resultado de dicha operación y el valor de factorial ahora será 6.
**Factorial de 3 = 6
Cada ciclo se ejecutara de la misma manera, teniendo que recordar que el valor de "i" estará sujeto al ciclo en el que se encuentra la iteración.
Espero haya aclarado un poco más tu duda.
Puedes utilizar el Debug de tu IDE para inspeccionar las variables y ver como se comporta el programa paso a paso.
Saludos!