Moving averages of prices are closely related to moving averages of price differences. In particular, if the price is a cumulative sum of historical price differences,
$$
p_t = \sum_{j=0} \delta p_{t-j}
$$
then a moving average of prices with weights $w_k$ can be written as a moving average of price differences with weights $v_k$
$$
\sum_{k=0}w_k p_{t-k} = \sum_{k=0} w_k \sum_{j=0}\delta p_{t-j-k} =
\sum_{k=0} \left(\sum_{i=0}^k w_i\right) \delta p_{t-k} =
\sum_{k=0} v_k \delta p_{t-k}
$$
where
$$
v_k = \sum_{i=0}^k w_i
$$
In particular, a moving average crossover with spans $(n_1, n_2)$ is a moving average of prices, where
$$
w_k = \begin{cases}
1/n_1 - 1/n_2 & \text{if } k < n_1 \\
-1/n_2 & \text{if } n_1 \leq k < n_2 \\
0 & \text{otherwise}
\end{cases}
$$
It is therefore also a moving average of price differences. It differs from the simple moving average, which has equal weight on all lags, by having very little weight on the first lag, with weights linearly increasing up to lag $n_1$, and then linearly decreasing up to lag $n_2$.
Qualitatively, the moving average crossover filters out more of the higher frequency noise resulting in a 'smoother' signal (intuitively this is because there is very little weight on either the most recent or most distant observation). In the language of signal processing it is a form of low pass filter. There is a tradeoff of smoothness of the resulting signal against reactivity to recent price changes.