¿Por qué $ element está disponible / inyectado en el controlador?

En AngularJS, he notado que se inyecta un controlador$element, que es un envoltorio JQuery / JQLite del elemento que controla el controlador. Por ejemplo:

<body ng-controller="MainCtrl">

Entonces puede tener acceso al elemento del cuerpo en el controlador inyectando$element

app.controller('MainCtrl', function($scope, $element) { ...

Esto se puede ver trabajando eneste Plunkr.

Y parece ser confirmado como un rasgo deliberado en eldocs por $ compilar

Mis preguntas son:

A la luz de las diversas guías y tutoriales que sugieren que no debe acceder al DOM en un controlador, ¿por qué esto es posible?

¿Hay algún caso de uso no hacky para esto?

¿Hay algún ejemplo de esto siendo usado en algún código disponible?

Gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta