There is a great google group post about this from Pawel Kozlowski: https://groups.google.com/forum/#!msg/angular/hVrkvaHGOfc/idEaEctreMYJ Quoted from Powel: in fact $provide.provider, $provide.factory and $provide.service are more or less the same thing in the sense that all of them are blueprints / instructions for creating object instances (those instances are then ready to be injected into collaborators). $provide.provider…