https://wiki.haskell.org/CabalSummary
-
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.