иначе говоря, если использовать наследование классов, потом очень тяжело избавиться от этого наследования классов и что-то изменить?
ну, скорее, если активно использовать, с ООП в стиле 90х". Тогда в проекте часто получаются иерархии на десятки уровней и вот когда тебе надо в эту иерархию вписать новую сущность, то ты оказываешься в уродской ситуации: как есть оно не влезает, но ты не можешь просто так изменить корни иерархии, потому что это ломает другие ветви.