The ROS packaging system simplifies development and distribution of code libraries. It enable you to easily specify dependencies between code libraries, easily interact with those libraries from the command-line, and release your code for others to use.

ROS packages are designed to support building and running code in local code trees. This is useful for developing software on multi-developer systems, such as robots, where there may be multiple versions of a library in use, and code is being contributed from multiple sources. It is also design to support modular code that is easily shared with other developers.