Oi Juan, tudo bem?
Muito boa a sua implementação e o seu comentário final!
Você captou perfeitamente a essência do comando break. Como você notou, ele é fundamental para economizar processamento. Imagine se essa lista tivesse 1 milhão de livros e "O Hobbit" fosse apenas o quarto item; sem o break, o programa continuaria verificando os outros 999.996 livros sem nenhuma necessidade. Interromper o laço assim que o objetivo é alcançado é uma ótima prática de programação.
Sobre o seu código, a lógica está correta. O uso do else que você adicionou funcionou legal para mostrar o "caminho" que o código percorreu até encontrar o livro desejado.
Parabéns pelo empenho.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!