Earlier quoted context omitted.
I feel like functional programming is pretty trivial. It's pure programming that is very difficult. They're often conflated because Haskell is pure and functional and probably the most talked about heavily functional language. I certainly didn't know that impure functional languages like OCaml existed for ages.
Is Haskell pure? It has exceptions You can divide by zero It has unsafe IO primitives
let x =
in ... x ... x ...
(i.e. defining a variable x and then using it some number of times) is equivalent to ... ... ...
Seen in the opposite direction (transforming the bottom code to the top code) this means that extracting repeated code is always a valid thing to do. It's not valid in most other languages, and certainly no mainstream ones.