> wikipedia uses one definition
Let me repeat: you used an introductory sentence as a "definition" of FP and are overinterpreting it. If you read later you will see:
> Functional programming languages, especially purely functional ones...
So Wikipedia distinguishes functional programming and pure functional programming. In fact there is a separate article on pure functional programming, which says that destructive modifications are "excluded", not just "avoided".
Functional programming does not have clear boundaries. You can have advantages of functional programming even if you introduce _a bit_ of FP style in a very imperative program. Conversely, you can write in very imperative style in Haskell.