In many Haskell programs, you want to leave the Prelude out of your imports and just let it be imported automatically.
In almost all the rest, you want to import most of the Prelude, but leave some pieces out. This can be done using, e.g.,
import Prelude hiding (head, tail, (++))
In some cases, that will be accompanied by an import to get access to the hidden parts:
import qualified Prelude as P
In virtually all remaining cases, you will be using some alternative prelude instead of the standard one. The only times I can imagine writing anything that doesn't import most of some prelude are when actually implementing the base modules for a Haskell system, or writing an alternative prelude.