A few reasons I could think of would be:
1. To contain all functionality within a module.
2. To make deployment simpler by having code-only scripted deployment.
Is there a way to install a dynamic module through the command line?
The ability to associate types while utilizing the UI (that's clearly already built via Dynamic) would be extremely helpful. Is it on the road map?