Why Convolve instead of Cross-Correlate for Detection of Known Signal?
Convolving with Matched Filter is same as cross-correlation. 


Suppose say your known signal is $x[n]$ for $0 \le n \le N-1$.

The matched filter is
$$
h[n] = x^*[N-n]
$$
where $*$ denotes conjugate (considering a generic complex signal). You can drop the conjugate for real signals.

The convolution with matched filtering operation is
$$
y[p] = \sum x[l]h[p-l]
$$
$$
h[p-l]=x^*[N-(p-l)]=x^*[l-p+N]
$$
Therefore
$$
y[p]=\sum x[l]x^*[l-p+N]=\sum x[l]x^*[l-\tau]
$$
where $\tau = p-N$ is the difference between index $p$ and $N$.

You can already see the matched filter output $y[p]=\sum x[l]x^*[l-\tau]$ is kind of cross correlation operation.

The Matched Filter output at $p=N$ is
$$
y[N]=\sum x[l]x^*[l-N+N]=\sum x[l]x^*[l-\tau]\Big|_{\tau=0}
$$
So as you can see here, Matched filtering output at $p=N$ which maximizes the SNR is the same as cross correlation output at zero lag, that is $\tau=0$.