Because angular.module('app')
with 1 parameter has a different function – to get an already existing module without having a code reference to it.
The reason this:
angular.module('app', []); // Define the module.
angular.module('app'); // Get the module.
works as well as this:
var app = angular.module('app', []); // Define the module and assign to variable.
solved AngularJS Dependency Injection when no dependencies