Graphic showing how packages act like containers for components.
A managed package is a "collection of application components that is posted as a unit on the AppExchange and associated with a namespace and possibly a License Management Organization (LMO). To support upgrades, a package must be managed. An organization [or Org] can create a single managed package that can be downloaded and installed by many different organizations. Managed packages differ from unmanaged packages by having some locked components, allowing the managed package to be upgraded later. Unmanaged packages do not include locked components and cannot be upgraded. In addition, managed packages obfuscate certain components (like Apex) on subscribing organizations to protect the intellectual property of the developer." IFGG For more, see Understanding Packages (Salesforce Help & Training).
The primary focus of the DreamOps Guide is to help Force.com practitioners develop, package, deploy, monitor, and upgrade managed packages.