Anecdotally I can confirm this is true.
> Laziness in Haskell is a great way to write declarative code, you really are describing a concept rather that telling the computer what to do. That can lead to very clear and orderly source code.
100% agree.
> Having said that, the drawbacks are significant, performance, memory usage, and debugging can all be a real pain. The last one sucks because it affects development of all kinds of programs, not just performance critical (and challenged) ones.
I think this largely depends on domain. Then, it's not clear if the best tradeoff is to go fully strict or develop better intuition for lazy evaluation in many of those cases.
> Difficulty hiring on a small scale in my experience is complete BS
I have a theory this meme is repeated by people who don't know where to find the many functional programming candidates.