Summary

Cabal is a package and build system. Cabal is only involved in the creation of packages and the building of their contents. It does not manage packages.

Cabal-Install installs cabal packages. It is distinct from Cabal (the build system). This often confuses new users. Furthermore, Cabal-Install is not a fully featured package manager. For example, it cannot install non cabal packaged dependencies, it cannot uninstall packages, nor can it automatically upgrade installations.