A package can have one of the following statuses:
The package is not installed, but can be downloaded and installed from the package archive.
The package is available for installation, but a newer version is also available. Packages with this status are hidden by default.
The package is included in Emacs by default. It cannot be deleted
through the package menu, and by default is not considered for
upgrading (but you can change that by customizing
package-install-upgrade-built-in, see Package Installation).
The package was installed automatically to satisfy a dependency of another package.
The package has been disabled using the
The package is not built-in and not from the directory specified by
package-user-dir (see Package Files and Directory Layout). External packages
are treated much like ‘built-in’ packages and cannot be deleted.
The package is held, See Package Installation.
The package cannot be installed for some reason, for example because it depends on uninstallable packages.
The package is installed.
Equivalent to ‘available’, except that the package became newly available on the package archive after your last invocation of M-x list-packages.
The package is an outdated installed version; in addition to this version of the package, a newer version is also installed.