O que é uma diretiva AngularJS?

Passei bastante tempo lendo a documentação do AngularJS e vários tutoriais, e fiquei bastante surpreso com o quão inacessível é a documentação.

Eu tenho uma pergunta simples e passível de resposta que também pode ser útil para outras pessoas que buscam o AngularJS:

O que é uma diretiva AngularJS?

Deve haver uma definição simples e precisa de uma diretiva em algum lugar, mas aSite AngularJS oferece estas definições surpreendentemente inúteis:

Na home page:

Diretivas são um recurso exclusivo e poderoso disponível no AngularJS. As diretivas permitem que você invente uma nova sintaxe HTML específica para seu aplicativo.

Nodocumentação do desenvolvedor:

Diretivas são uma maneira de ensinar novos truques em HTML. Durante as diretivas de compilação do DOM, elas são comparadas com o HTML e executadas. Isso permite que as diretivas registrem o comportamento ou transformem o DOM.

E há umsérie de palestras sobre diretrizes que, ironicamente, parecem supor que o público já entende o que elas são.

Alguém poderia oferecer, para referência clara, uma definição precisa do que é uma diretiva que explica:

O que é isso?definição de jQuery como um exemplo)Que problemas práticos e situações pretende resolver?Qual padrão de design ele incorpora, ou como ele se encaixa no suposto MVC /MVW missão do AngularJS.

questionAnswers(5)

yourAnswerToTheQuestion