Sometimes Hackage isn't available, in which case you can use one of the mirrors.
Usually you can just replace the
remote-repo line in Cabal's config, which is located in:
~/.cabal/configon Linux (and probably OS X)
If you need documentation, Stackage is your only option. Otherwise you might choose the mirror by speed. The speeds of these Hackage mirrors are as follows for various countries (tested by downloading the tarball for lens-4.9):
luite.com reesd.com fpcomplete.com | Hackage | Netherlands, Amsterdam 144 ms 126 ms * 229 ms | 200 ms Belarus, Minsk 700 ms 1116 ms 667 ms * | 270 ms UK, Bristol 195 ms 75 ms * 277 ms | 160 ms UK, Edinburgh 1114 ms 837 ms 360 ms * | 180 ms USA, San Francisco 5373 ms 1455 ms 445 ms * | 210 ms USA, New York 822 ms 719 ms 77 ms * | 165 ms * = fastest for this location
So, if Hackage isn't down, stick to Hackage (because it's consistently fast), and otherwise you should probably choose FPComplete's mirror unless you live in Bristol.
Not quite a mirror of Hackage (it hosts a vetted subset of packages), but comes with some benefits (such as documentation).