My point is that similar explanation must be in "Possible issues" section of Rule[] doc page. But today such section is absent at all. And maybe some references in Cases[] and similar derived stuff too.
Because of Cases[] and others applications tell about "patterns":
Cases[{Subscript[e, 1],\[Ellipsis]},pattern->rhs]
gives a list of the values of rhs corresponding to the Subscript[e, i] that match the pattern.
Patterns are not self-essential, it must be applied to something before calculations. By principal goal it need to be a deferred calculation.
But Wolfram Kernel takes the different point. It's not a real bug, it is peculiarity, but it tends to disambiguation and potential errors.
Because of documentation "clearly" instruct us
Find the sum of every pair of elements:
In[2]:= Cases[{{1, 2}, {2}, {3, 4, 1}, {5, 4}, {3, 3}}, {a_, b_} -> a + b]
Out[2]= {3, 9, 6}
But tells nothing about that if one have already put somewhere deep in code a simple definition like
a = 100;
you'll surprisingly got
In[6]:= Cases[{{1, 2}, {2}, {3, 4, 1}, {5, 4}, {3, 3}}, {a_, b_} ->
a + b]
Out[6]= {102, 104, 103}
instead.
That's the point.
In both cases most of the time they will have the same result but in certain situations you must choose one or the other to get the behavior that you want.
Can you please give me an example of such pattern substitution where the use of the immediate Rule[] is essential?
Maybe the documentation need to be changed for usage :> in most cases and only in rare occasions -> need to be used?