I don't think that "apt-get install cabal" actually solves the core issue that sparked this thread for several reasons.
As someone who had to install GHC from scratch without having sudo access on a (non-Debian) machine, I can testify that the fact that the cabal binary is not part of the GHC distribution, and doesn't have an easily located downloadable binary, has caused me a lot of trouble. AFAIK there isn't any clear description of how someone is supposed to deal with such a situation (unless something has been added in the past year).
For example, The problem of handling the distro's package manager (whatever it is) with a language's package is a separate and thorny issue, which I think can't be "perfectly" solved short of unrealistic rewrite-the-world solutions. E.g., what happens if you do apt-get install cabal" and then use cabal to update itself to the newest version? What happens if you then "apt-get upgrade" and there's a newer version than the one apt installed, but it is older than the one you installed manually? etc.