In a computer program a function can be used many times, just like a
variable, with different input values and different output values possible.
In modular programmimg and object-oriented programming, hundreds or even thousands
of functions can be "called" by a main program, such as a large program that
calculates your Federal IRS 1040 Income Tax each year. The program has to be
updated each year for changes in the current year tax laws.
In a computer program a value is assigned to a name.
The value can change,
but the name stays the same.
When I'm buying food at the grocery store, when I check out I'll see "total $".
That's how much money I owe the grocery store. It changes every time I buy food
there. (If it's the exact same amount as before, then it'll have a different timestamp).
Every customer in the grocery store sees the same name: total $ when they check out, too.
Each customer is responsible for their own purchases, and therefore, their own total $.
When using variables (names), the computer program can be run a million times
by a million different people, with the results (or transaction) corresponding
to the person conducting the transaction.