It's not a horrible answer, though it wouldn't make my top 3 list. Learning different models of programming is almost always worthwhile, though how much time you put in will depend on your objectives. Languages and systems in the declarative/logical/relational vein like Prolog, minikanren, and others are worth examining at least once. If you grok them, it can be very handy with prototyping, even if it doesn't make it into production. And if you really grok them, you can Greenspun a Prolog into your system more effectively when it turns out its model is actually appropriate to a portion of the system.
With regard to this, though:
> When you modify it, you have to understand the logical world state.
That's true of any non-trivial program someone may write and/or modify. Changing without understanding is just going to get your garbage (perhaps functional garbage, but still garbage).
I thought declarative programming was the way of the future. I was wrong. It is useful in a small set of cases but generally speaking procedural programming (still) rules the roost.
It seems everybody is learning lessons learnt in the 1950s over and over again.