I am not entirely sure if I understood your question, so this might be completely irrelevant.
Why do we need to multiply and shift the signal samples:
The objective of the cross-correlation operation between signal $x$ and signal $y$ is to find how well they correlate (resemble each other) and when they correlate the best. In other words, if $y$ is a delayed version of $x$ as in:
$y = x(t - d)$, where $d$ is a positive time delay, then $y$ would appear identical to $x$ if $y$ was shifted by $d$ seconds to the left on the time axis.
What if we have no prior knowledge of the value of $d$? An approach would be to take $y$ and shift it by an amount $\tau$ to the left on the time axis. If we try this operation for an infinite range of $\tau$ values, would you agree with me that, at $\tau$ == $d$, the shifted $y$ signal would appear identical to the $x$ signal? That is more or less the justification for shifting the samples.
Now consider a signal $z$ given by $z = Ax(t-d)$, where $A$ is a scalar. $z$ is a scaled, and time-delayed version of $x$.
During the shifting by $\tau$ operation in the previous paragraph, if you were to take the difference/sum of $z$ and $x$, the outcome would not be very informative if $A$ were very large. e.g if $A$ = 1000, the output difference/sum $R$ would not vary significantly over the range of possible $\tau$. What I mean is that $R$ would appear mostly flat, and you would not be able to figure out the value of the time delay $d$.
If you were to use division instead, how would you deal with the divisor signal being 0 sometimes? i.e. division by zero?
Multiplication is the best option, since relative amplitudes do not affect the results too much. You'll then get a peak in the cross-correlation output which will signify the time delay $d$.
I hope this answers your question.