Criteria to distinguish FIR and IIR filters from difference equation?
If the Z-transform of the feedforward section is divisible by the Z-transform of the feedback section, the filter is FIR.

Consider your example: $y[n] = y[n-1] + x[n] - x[n-3]$.

The Z-transform is $\mathrm Y(z)- z^{-1}\mathrm Y(z) = \mathrm X(z) - z^{-3}\mathrm X(z)$, and the Z-transform of the response is $\mathrm H(z) = \mathrm Y(z)/\mathrm X(z) = (1 - z^{-3})/(1 - z^{-1}) = 1 + z^{-1} + z^{-2}$. This means that the filter can be realized as $\mathrm y[n] = \mathrm x[n] + \mathrm x[n-1] + \mathrm x[n-2]$, which is clearly FIR.