The value of an expression variable is calculated from the expression using current row of data from the query.
This can be thought of as a kind of shortcut. A variable may use a long expression. Other expressions may use the same long expression as a subexpression, i.e. part of themselves. Typing the same long expression over and over is error-prone. The variable allows typing the expression once, then the variable can be used in other expressions. This not only saves on typing. The expression value of the variable is calculated once, and referencing the variable simply uses the already calculated value, thereby saving report execution time.
An expression may be iterative, where the new value is derived from the previous value of itself. See Expression self reference.
Examples cannot be understood without the context in which they are used. Complete variable examples are in the Variable node section of the Report XML description chapter.