Olá, Paulo! Entendo sua dúvida e acho muito legal que você esteja explorando alternativas de código!
O código que você tentou return parseInt(Math.random() * (max - min) + min) e o código mostrado na aula return Math.floor(Math.random() * (max - min + 1)) + min são parecidos, mas têm diferenças sutis que podem afetar o resultado.
parseInt(): Esta função converte o valor que recebe em um número inteiro. Se o valor for um número flutuante, ele simplesmente descarta a parte decimal. Por exemplo, parseInt(1.9) retornará 1.
Math.floor(): Esta função arredonda o número para baixo até o número inteiro mais próximo. Por exemplo, Math.floor(1.9) também retornará 1.
Então, à primeira vista, pode parecer que parseInt() e Math.floor() fazem a mesma coisa. No entanto, a diferença crucial aqui é como eles lidam com números negativos. Por exemplo, parseInt(-1.9) retornará -1, enquanto Math.floor(-1.9) retornará -2. Isso ocorre porque Math.floor() sempre arredonda para baixo, enquanto parseInt() simplesmente descarta a parte decimal.
No entanto, no contexto do seu código, essa diferença provavelmente não será perceptível, pois você está lidando com números aleatórios que são sempre positivos.
Outra diferença é o +1 em (max - min + 1). Isso garante que o valor max seja incluído como um possível resultado. Sem o +1, o valor max nunca seria retornado pela função.
Espero ter ajudado e bons estudos!