If you are actively using something then keep it up to date, encourage someone to keep it up to date, pay someone to keep it up to date, or migrate off of it.  If you try building with a fresh set of packages every so often, you can catch breaking changes early and deal with them when it's typically pretty clear why things broke.

Not necessarily. Let's take Flippi as an example. What seems to be happening there is that Text.Html is incompatible with CGI.Html, or something like that. Those are both vanilla modules that would not be under my control. If somebody else decides to make them incompatible, there's nothing I can do. Not without a total rewrite, but by then I might have 20 man-years invested in it. Nobody is gonna do a big project in a language with this attitude.

What if Android were written in Haskell for instance. At the famous 10:1 ratio there'd be roughly 5 million lines of it. "Nice update guys - we only had to rewrite 100,000 lines this time." Then you'd be afraid of change cos it would be your own phone you were breaking.