The stack manifest (stack.xml) is a minimal specification that supports the distribution and installation of ROS Stacks. In addition to providing a metadata about your stack, an important role of a stack.xml is to declare dependencies on other stacks. The presence of a stack.xml file in a directory is significant: any directory within your ROS package path that contains a stack.xml file is considered to be a stack, and any packages within it are considered to be part of that stack [1].
The bare minimum stack.xml file is much like a readme file, stating who is responsible for the stack and what license it is under. The license is important as it indicates who can use your code. stack.xml files usually include <depend> tags, which declare stacks that must be installed as pre-requisites.
[1]: stacks cannot contain stacks