Consider the following code.
10 let x = 5;
20 print x; // prints "5"
30 let x = x + 1;
40 print x; // prints "6"
Therefore, based on the above program, 5 = 6.
If you just said, "Wait, what??" then you've just stumbled over the difference between functional programming and imperative programming. In high school algebra, we learn that once we've solved for x, we know the value of x and can use it to find other values in the equation. When we try to apply that knowledge to (imperative) programming, we find out that our math knowledge is useless, and the reason is right there in line 30:
30 let x = x + 1;
You can't do that in in math, because there is no value of x that can satisfy both sides of the equation. Imperative programming, though, not only allows you do that, it actually encourages it.
That, in Zen koan form, is the difference between functional and imperative programming. In functional programming, you can find out the value of something, and once you know it, you've found the answer. In imperative programming, by contrast, there's no such thing as the value of a variable, because it's variable. The closest you can come to knowing its value at some particular instant in time, with no guarantee that it will still have the same value even a millisecond later.
Now multiply that by the number of variables in a typical non-trivial program, and maybe you can see the advantage of functional programming. Functional programming is about functions, in the more mathematical sense. Functional programs work with values, not variables, and thereby eliminates entire classes of bugs that arise because some variable changed values when you didn't expect it to. That in turn means you no longer need to write all the defensive code it takes to try and avoid/detect/recover from them.
There's lots more to learn about functional programming, and particularly about how we use it to manage changing state (which is something all code needs to do somehow). But the gist of it is this: in functional programming, we're not issuing commands to bash things together (and possibly break them). Functional programs describe the fundamental relationships between things, the same way 2x + y = 0 describes the relationship between x and y. And that, in turn, lets us write code that is simpler, more powerful, and more reliable.