- The injector is global for a given ng-app
- Factories, directives and stuff are not namespaced inside a module
- You cannot compose several ng-apps on the same page...
... Which lead us to name clashes.
Yes, there is a real possibility to have name collisions.
Yes, every developer will face them eventually.
Yes, it really hurts.
The last registered service wins.
This fact make modules depend on load order. And it kills the only one useful purpose of having "angular-flavour" modules.
Oh, by the way, do you know that you can register several directives with the same name?
And they all will be linked to the same element...