Oi Luan, como você está? Espero que esteja bem ^-^
A diferença entre o == e o = é tênue. A utilização do == é para comparação, já o uso do = é para atribuirmos um valor a variável. Imagine o seguinte:
- A variável sucesso deve ter o valor 1. O que eu devo usar? Um único igual ou dois iguais? A resposta é apenas um igual, pois estaremos atribuindo um valor a variável. 
- Quero comparar se a variável sucesso tem o valor 1. O que eu devo usar? Nesse caso, como quero comparar, o correto é a utilização de dois iguais.  
Agora, vamos pegar o cenário do curso, onde temos o seguinte:
int resposta = checaRespostaUsuario();
Nesse caso, estamos dizendo que a variável resposta receberá o valor que a função checaRespostaUsuario retornar, ou seja, estamos atribuindo algum valor a variável resposta. E logo após isso, fazemos a verificação se resposta é exatamente igual a variável sequenciaLuzes em uma posição determinada, usando o ==:
if(resposta == sequenciaLuzes[leds_respondidos])
Ficou mais claro?
Qualquer dúvida estou por aqui.
Abraços e bons estudos!