For large applications, let's say Asp.net application that is really large and supports multiple business logic, it is advisable to split one project into multiple projects for developers to work on modules then linking the modules to the parent root. This makes managing the application easily, makes debugging components easy and customers can subscribe to certain modules if the need to. For further research please the source article found here.