In a procedural language:
x == 3 means:
Take the value out of the box x. Is it 3?
x = 3 means:
x is a box, put 3 in it.
The 3 lasts forever, or until someone changes it.
In a functional language:
x = 3 means:
Take the value out of box x. Is it 3?
let x = 3
in [...] means:
x is a box, put a 3 in it.
The 3 lasts for only the [...], but cannot be undone.