The OpenEmbedded Project (OE for short, but mostly called OE-dev, following the name of the mailing list) was created by Chris Larson, Michael Lauer, and Holger Schurig, merging the achievements of OpenZaurus with contributions from projects like Familiar Linux and OpenSIMpad into a common codebase. OpenEmbedded superseded these projects and was used to build any of them from the same code base. Stable maintenance builds exist for the old OpenEmbedded-Classic, although most development is, or will be, based on the new OpenEmbedded-Core in the future.
The OpenEmbedded-Core Project (OE-Core for short) resulted from the merge of the Yocto Project with OpenEmbedded. This is the most recent version of OpenEmbedded and many of the OE-dev recipes are available in OE-Core. Newer versions of package recipes may only get ported for OpenEmbedded-Core.
OpenEmbedded-Core has adapted this layered structure in the merge with Yocto and new layer entries were added over time. The Layers represent a structure which is only of declarative nature. The specific entries are stricter in the scope of deciding which entry provides which packages.
The user-defined layer for custom Bitbake recipes. Embedded system software developers would place their recipe here if the software would not fit the commercial or base layer.