Интерфейс нужно создавать, если ты архитектор, и в дальнейшем остальные работники будут наследовать свои классы только от этого интерфейса/ов. Тем самым ты можешь рулить масштабированием всего проекта.
Абстрактные классы, это больше частный случай, который идет ниже по иерархии.