These are the individual projects that make up the Yocto Project. Each of these holds a key role in developing embedded Linux, and the Yocto Project works to make all of them interoperable and useful.
Opkg is a lightweight package management system. It is written in C and resembles apt/dpkg in operation. It is intended for use on embedded Linux devices and is used in this capacity in the OpenEmbedded and OpenWrt projects, as well as the Yocto Project.
As best it can, opkg maintains backwards compatibility with ipkg and conforms to a subset of debian's policy manual regarding control files.