The difference is just the choice of values to be averaged. System $1$ computes the average by using two values that are adjacent to the current value. If $n$ is time, then this filter is non-causal because it uses one past and on future value of the input. If $n$ is space (as in image processing), then such a filter is perfectly possible. System $2$ uses the current value and two future values (if $n$ is time) to compute the average; obviously, this filter is also non-causal. If $n$ is space (or something else) then such a filter is of course possible. System $3$ uses the current value and two past values to compute the average and, consequently, it is causal.