Straight from their FAQ page:
https://chocolatey.org/faq#what-is-the-difference-between-packages-no-suffix-as-compared-to-install-portable
Chocolatey has the concept of virtual packages (coming) and meta
packages. Virtual packages are packages that represent other packages
when used as a dependency. Metapackages are packages that only exist
to provide a grouping of dependencies.
A package with no suffix that is surrounded by packages with suffixes
is to provide a virtual package. So in the case of git, git.install,
and git.commandline (deprecated for .portable) – git is that virtual
package (currently it is really just a metapackage until the virtual
packages feature is complete). That means that other packages could
depend on it and you could have either git.install or git.portable
installed and you would meet the dependency of having git installed.
That keeps Chocolatey from trying to install something that already
meets the dependency requirement for a package.
Talking specifically about the *.install
package suffix – those are
for the packages that have a native installer that they have bundled
or they download and run.
NOTE: the suffix *.app
has been used previously to mean the same as *.install
. But the *.app
suffix is now deprecated and should
not be used for new packages.
The *.portable
packages are the packages that will usually result in
an executable on your path somewhere but do not get installed onto the
system (Add/Remove Programs). Previously the suffixes *.tool
and
*.commandline
have been used to refer to the same type of packages.
NOTE: now *.tool
and *.commandline
are deprecated and should not be used for new packages.
Want more information? See http://ferventcoder.com/archive/2012/02/25/chocolatey---guidance-on-packaging-apps-with-both-an-install.aspx