вот это 
                  
                  
                  Наследующий класс должен дополнять, а не замещать поведение базового класса.
                  
                  
                  Но при этом часто в дочерних классах переопределяют методы родителей. Это значит просто не соблюдают данный принцип, или я чего то не понимаю?
                  
                  
                
Переопределяют. Совместимым способом
Звучит как будто ты смешал два принципа
теперь еще больше запутался😐
то есть в методе наследующего класса обязательно должен быть super()?
Нет
что значит совместимым?
Например, одинаковая сигнатура
Обсуждают сегодня