Пример: класс из сторонней библиотеки, который наследуется в вашей программе. В течение жизненного цикла вашей программы вы можете обновлять библиотеку на более новую версию, при этом ее внутренне устройство может меняться (private-методы), а интерфейсы, выставленные наружу — нет (в т.ч. и protected-интерфейсы). А вот если какие-то методы были объявлены как protected, то значительно изменять их поведение или декларацию — уже нельзя.