MOOSE includes a set of community developed physics modules that you can build on to create your own application.
The purpose of the modules is to encapsulate common kernels, boundary conditions, etc. to prevent code duplication. Examples include: heat conduction, solid mechanics, Navier-Stokes, and others. The modules are organized so that your application can link against only those which it requires.
No export controlled physics (e.g., neutronics) should be put into the modules.