Bo w Angularze doprowadzono do wręcz absurdalnego trzymania się zasad OOP i SOLID, stąd podział jest tam tak dokładny.
Niemniej różnica w tym wypadku jest sensowna i uzasadniona. Service to usługa, która wykonuje pewną jedną, ściśle określoną czynność i niekoniecznie musi cokolwiek zwracać. Factory służy do tworzenia nowych obiektów. Inna rzecz, że w Angularze jest to przerysowane IMO.