A container executing in the same JVM where Cargo is running
An embedded container means that Cargo is using directly the container's Java API to control it and starts the container in the same JVM as where it is running. This implies you can do many advanced things programmatically - such as playing with the class loader, adding proxy classes, etc.
Please note that if you're using one of the embedded implementation you'll need to ensure that you have the container's JARs in your classpath.
Embedded containers, since they run in an existing JVM, will come with a large number of limitations:
As a result, except in cases where you have a compelling reason to use an embedded container, please use an Installed Container instead.