I have never used this technology (so I do not have a very good understanding), but I am also interested in it.
It seems to me that the full Mathematica kernel is not required, but the generated program isn't standalone either. You need to link to the Wolfram Runtime Library (see "Libraries" -> "WolframRTL_Static_Minimal"
).
This means that the code can only run on systems for which Mathematica is available (i.e. Windows/OSX/Linux x86/x64 and Linux on ARM though the Raspberry Pi version), even if it doesn't require Mathematica to be installed. You need Mathematica to prepare the executable. Once that is done, you can move it to another computer which has the same architecture and operating system, and it will work there without Mathematica.
It also means that only a subset of Mathematica's functionality will be available for use. I was not able to find which subset is supported, but I am fairly confident that any compiled function that has a MainEvaluate call won't work this way. You can check this using
cf = Compile[...];
<<CompiledFunctionTools`
CompilePrint[cf]
and look for MainEvaluate
it in the output.
You may find it useful to look at:
While I said above that if a function is not compilable, then I'm fairly sure that it cannot be used in standalone executables, I am less sure about the reverse: I do not know if all compilable functions can be used in standalone programs. Perhaps someone who is familiar with the technology can clarify this.