Olá Hector, tudo bem?
É uma observação interessante que você fez sobre o comportamento do método nextLine() em relação ao \n no código. Na verdade, o que acontece é que o método nextInt() lê apenas o número inteiro digitado pelo usuário, mas não consome o caractere de quebra de linha (\n) que é deixado no buffer de entrada.
Quando você chama o método nextLine() logo em seguida, ele consome esse caractere de quebra de linha pendente e retorna uma string vazia. É por isso que, quando você não utiliza o nextLine(), o programa pula a leitura do nome do filme.
Para resolver esse problema, você pode adicionar um nextLine() extra após a leitura do número inteiro, para consumir o \n antes de ler a próxima linha. Ficaria assim:
anoFilme = leitura.nextInt();
leitura.nextLine(); // Consumir o \n pendente
nomeFilme = leitura.nextLine();
Dessa forma, o programa irá funcionar corretamente, permitindo que você digite o nome do filme após a leitura do ano.
Espero ter ajudado e bons estudos!