A manifest is a node which contains a list of node versions in the Manifest Items (system.MANIFEST_ITEM) member type. Manifest (system.MANIFEST_TYPE) provides a suitable node type for managing manifests, but custom manifest node types could be created.
Manifests are used for two purposes: permissions and version management.
In permissions, a manifest is used to specify a set of related node permissions. User groups granted node-use-manifest permission on the manifest node are granted the permissions on the manifest using the authority of the manifest node owner. If the manifest node owner does not have the required authority to grant the permission, the permissions are not granted.
See the Permission manifest topic for more details on permission manifests.
In version management, a manifest can be used to specify a set of node versions to which references within a node or package should be updated.