Both uses of the \let primitive often lead to the same result. Is this even true for every case? What was the thought process behind it. And if they are actually not equivalent, are there particular situations in which you can only use one or the other?
Addendum
Summary
As your plenty and nice answers show, there are cases in which you clearly have to respect one of the variations (for instance regarding assignments to '=' and macros that check for spaces). These were totally understandable points and they explain a lot. Now, @Werner's answer confirmed one ingenuous thought of mine:
"The use of = is purely to emphasize the fact that an assignment is being made [...]"
Moreover Knuth himself seem to have intended the synopsis including the '=', though he also used the other way. Why did he include it then? It will probabilly have to do with the exact meaning of the TeX source snippet cited by @Werner. To be honest, I don't know WEB either, but if there is someone who does, can he explain it (in very easy terms) by adding an edit to his answer? New answers are clearly welcome too.
Side Note
As an element of a gray area I found an example where using the syntax including the equal sign causes "difficulties":
If you have control sequences which need the 'csname-expandafter' mechanism, and you want to stick to the minimal exploitation of \expandafter by saying
\expandafter\let\csname foo1\expandafter\endcsname\csname bar1\endcsname
you can't add an equal sign because it would distract TeX from reading the \expandafters correctly. To get the equal sign work you would need to use the slightly unhandier version
\expandafter\let\csname foo1\expandafter\endcsname\expandafter=\csname bar1\endcsname

\let<csname><opt equals><opt space><token>(see also egreg) while the answers here show examples where it is not optional, hence not true in general. – Ruben Nov 15 '13 at 00:01[as a mandatory argument of a macro that can take an optional argument (say,\newcommand{\macro}[2][x]{#1#2}), using\macro[would cause problems. You need to use\macro{[}. However,\macro[][is fine. If you want to use something that is optional in a mandatory fashion, you have to be careful. – Werner Nov 15 '13 at 03:00\expandafter\let\csname foo1\expandafter\endcsname\expandafter=\csname bar1\endcsname? Surely the=is superfluous, but it still works. – Werner Mar 26 '14 at 15:58=symbol. – Andreas Storvik Strauman Mar 26 '18 at 16:16