Директива - это, грубо говоря, функция (кусок кода/логика) "завязанная" на элемент.
1) Если вам нужно что-то сделать с элементом
2) или если у вас есть логика в контроллере работы над элементом (ngStyle/ngClass,ngClick...) и вам нужно использовать эту логику повторно в разных местах, то можно сделать директиву и использовать её, что-бы не копипастить код.
Вот пример простой директивы на Angular Light:
jsfiddle.net/lega911/vrfdqbu8
Попробуйте сделать аналог с ngStyle, вам придется возится с переменными для каждого случая (хотя можно изолировать контроллерами), вообщем больше кода и копипаст.