Ola Miguel!
Pelo que entendi, a lógica desse código é para contar a quantidade de vezes que uma letra aparece em uma frase.
A funcao vezesLetraAparece recebe dois parâmetros:
Se cria a variável resultado que indica a quantidade de vezes que a letra aparece na frase. Inicialmente vale zero, já que ainda não foi contado.
No loop for, fazemos ele ir de 0 (zero) até o tamanho da frase (frase.length), acrescentando 1 (i++) ao contador i. Dessa forma, se eu informo a frase: “exemplo de frase”, o loop for irá de 0 (zero) até 16, pol 16 e a quantidade de letras (contando com espaços) da frase.
Dentro do loop, estamos percorrendo cada letra da frase uma por uma e verificando se a letra da frase é igual a letra informada no parâmetro da função. Caso for igual, vamos acrescentar mais 1 a variável resultado, senão, não fazemos nada e simplesmente continuamos o loop para verificar a próxima letra.
Espero ter ajudado, abraços!