DZ
1) у тебя есть интерфейс, ты по нему можешь определять, пришел ли тебе объект, имеющий данные методы
2) например, тебе не хочется делать огромное дерево наследования, а хочется добавить, к примеру, некую логику, которая может быть легко отключена, не являющаяся критичным путём работы класса. Например, search, который везде будет одинаков, но требуется лишь для нескольких объектов