A vírgula é necessária se a oração subordinada com "que" complementa ou esclarece a palavra, mas não restringe seu significado. No seu exemplo está correto: "Comprei o livro, que estava na prateleira" - a vírgula é necessária. Aqui a oração simplesmente adiciona informação sobre o livro, e pode ser removida sem perda de sentido.
Mas se você escrevesse "Comprei o livro, que me agradou", a vírgula também é colocada - é uma subordinada explicativa. Sem vírgula se escreve apenas em casos raros, quando a subordinada *restringe* o significado - por exemplo, "Livros que eu amo" pode significar um conjunto específico de livros, diferente dos outros. Mas mesmo aqui a norma moderna frequentemente exige a vírgula, então é melhor não arriscar.
É mais fácil lembrar assim: se a oração subordinada vem depois do substantivo e começa com "que" - coloque uma vírgula antes dela. As exceções são raras, e na escrita comum você quase não errará se fizer isso sempre.