A managed package is a collection of application components that are posted as a unit on AppExchange, and are associated with a namespace and a License Management Organization. To support upgrades, a package must be managed.
Basically packages in Salesforce are divided into two categories, managed and unmanaged packages.
The managed package is the package which one gets published can’t be edited by the user and in the unmanaged package one can do modifications by installing the unmanaged package in their own org.