expr //. rules repeatedly performs replacements until expr no longer changes.
expr //. rules effectively applies /. repeatedly, until the results it gets no longer change.
It performs one complete pass over the expression using /., then carries out the next pass.
You should be very careful to avoid infinite loops when you use the //. operator. The command x //. x -> x + 1 will, for example, lead to an infinite loop.
ReplaceRepeated takes the option MaxIterations, which specifies the maximum number of times it will try to apply the rules you give. The default setting is MaxIterations -> 65536. With MaxIterations -> Infinity there is no limit.