Lo que sucede esque a tu consulta no le estas pasando la variable buscar, sino que se la estas pasando como una constante:
Prueba con esto:
Código PHP:
$sql = "SELECT desc_musical, grupo, anio FROM musicales WHERE desc_musical LIKE '%".$buscar."%' or grupo LIKE '%".$buscar."%' or anio LIKE '%".$buscar."%'";
Como vez te falto ponerle el símbolo de dolar ($) a la palabra buscar. Bueno, yo te puse '%".$buscar."%' (otro simbolo de % despues de la variable $buscar) porque supongo que quieres que los campos contengan la(s) palabra(s) de la variable $buscar; si lo que pretendes es que los campos finalicen con la(s) palabra(s) que se encuentran en la variable $buscar si estas en lo correcto, se debera definir: '%".$buscar."'. Suerte