Eu não entendo o uso de $ inject em controllers

Estou totalmente confuso sobre injetar em Angular. Eu não sei onde usá-lo e por quê. É usado somente com a fábrica comodescrito aqui?

myController.$inject = ['$scope','notify'];

Aquinotify é o nome da fábrica.