IMHO Haskell is not a bad "scripting language", whatever that means. My current project has lots of nice, composable blocks that get compiled in a library project and I use stacks scripting feature to just glue them together. Works for me.
Personally, I write games a lot, and I write apps with rich UI behaviors. Both have a lot of inherent statefulness and imperative behaviors that are, in my opinion, modeled better using a a language that at least supports imperative structures. Both also benefit a lot from OO principles.
I also use functional concepts, and my code also ends up with lots of nice, composable blocks, but being in a language that forces functional concepts where they don't fit is a recipe for unneeded complexity and unintuitive code.
Functional isn't a silver bullet. There Is No Silver Bullet.
Naa ... without wanting to get into a religious war here: Haskell actually provides an imperative "mode" (aka "do-notation"). But I agree about the silver bullet thing ... I am/was a Java developer by trade and have written my fair share of Python and C/C++ code. Haskell just clicked with me after getting over the initial hurdles and is a good fit for the work I do (which is processing about 400kEvents per second from a custom sensor).