For example, when I find it hard to understand Haskell code, it's not because of the type system, it's usually that the compiler is doing too much magic for me (with type classes, and automatically lifting things into monads).
I find that having the types actually makes the code itself easier to understand, because I can ask the compiler (usually through the REPL) to tell me what kind of thing can go where. It makes that kind of information more local.
Language like Haskell forces you to do it. It is more effort, but this effort pays off in getting composability and edge cases right. The end result is not actually harder to understand, it's rather that you did not fully understood the problem in the beginning (by glossing over technical details).
Static typing itself - no. What is important about Haskell is the equational reasoning (algebraic thinking, if you will) you can do, not static typing. Static typing is just a vehicle to be able to pull it off.
There is a payoff already - see my comment to Lisp guy above. We could also talk about how monads made LINQ great, or how streams in Java have to be more complicated than necessary because the language wasn't very well formally defined.
And there will be bigger payoff in the future, when we will learn for example how to type a whole big software component correctly (like a web service). So far, it's an art driven by engineering intuition; but formalization will help to make more robust systems.
The payoff is also assumed based on experience with other branches of mathematics (as I was alluding in my first comment), where historically, the formalization always paid off. It doesn't mean you cannot get things right informally, but it's usually fiendishly difficult.
Recently there was an article about a whole application: http://abailly.github.io/posts/cm-arch-design.html
I can also recommend book Functional Programming in Scala, which talks about how FP helps develop good API in more detail.
The analogy is more "Should I do Physics without computer-verified usage of units?", in which case the answer is "It depends."
I like dynamic languages, especially Python and Clojure. But programming with types is important to get things right, on the correct, formal basis. (I think functional programming is a misnomer, it should really be called algebraic-oriented programming, but I digress.) Once you see how to do it correctly it's perfectly OK to mimic the same abstraction in dynamic language.