Well to toss in a new word into the lexicon that is Unreal 4 is the idea of Harvesting what you want from one project into another by making use of dependencies to a given project environment.
In context lets say you have an environment set up perfect as to dependencies that you want to pull out of it but reject anything not connected to the work in progress.
Now you could migrate the entire game directory under the asset browser, including stuff that you don’t need, but the result will be yet another copy of the assets that are visible to UE4.
On the other hand if you go Window>Levels>Migrate then only dependencies connected to and included as part of the current environment project is exported.
The flip side though, and I’m making an assumption, is when a project is compiled as a stand alone version of the project only dependencies are exported and not assets that does not contain dependencies like 25 gigs of textures not being used.
Of course I stand to be corrected as a lot of things does happen when you push a button. 