Чем является директива в концепции mv* в AngularJS?
директива - кусок встраиваемого независимо работающего компонента (приложения). 
который вы можете вставлять в ХТМЛ как обычный тег (по концепции с веб компонентами). 
тоесть если говорить в рамках MVC - то это ещё один mvc. 
да и вобще не парьтесь по поводу концепции, их разрабатывают чтоб упростить жизнь, в некоторых приложениях удобно объединить контроллер с внешним видом, иногда удобно объединить контроллер и модель. Главное - не пытаться всё подгонять под какие-то догмы.
ангуляр больше похож на HMVC, в таком случае директива это самодостаточное MV* приложение или его компонент, и да у него могут быть свои зависимости и т.д.