Hola Cristian, como estas?
La idea de las clases abstractas es servir como un esqueleto, cuando vas a implementar clases que comparten aspectos comunes "pero tienen sus particularidades". Entonces si vas a agregar algún método de todas las clases, lo puedes hacer en la clase abstracta, si es un método que todos deben tener pero cada una lo implementa de una forma, entonces lo agregas como un método abstracto, si es algo particular de la clase que hereda, entonces lo haces sólo en esa clase.
Veamos un ejemplo, definamos la clase Animal, un animal come y duerme, entonces agregamos los métodos comer y dormir en la clase abstracta, todo animal se mueve, pero algunos caminan, otros vuelas, otros se arrastran (en el caso de los reptiles), entonces definimos el método abstracto mover en la clase abstracta, sin implementarlo, y cada clase sera responsable de implementarlo. Entonces definamos la clase Perro que extiende de Animal, en el método mover, se implementará que camina. La clase Reptil que extiende de Animal, en el método mover, implementará que se arrastra. La clase Pajaro que extiende de Animal, en el método mover implementará que vuela.
Espero que el ejemplo te ayude a entender un poco mejor el concepto.
Un abrazo.