Difference between assignment, binding, and substitution?

I am trying to understand the difference of assignment, binding, and substitution. I know the three things are related, but to me it’s not exactly clear what word refers to what. Example, illustration, and citations from computer science wiki/articles/textbooks are welcome.