The logic behind one's complement addition
A binary number in one's complement is represented by $\bar{N} = (2^{n} - 1) - N$.
So when you subtract N from M you get:
$$
S = M - N = M + \bar{N} = M + (2^{n} - 1 - N) = (M - N) + 2^{n} - 1
$$
And when you do the so called end-around carry operation you effectively add $-2^{n}+1$ to the intermediate result because you take away the MSB and add 1. So you get:
$$SUM = S -2^{n}+1= (M - N) + 2^{n} - 1 - 2^{n}+ 1 = M - N$$
This is correct again.  

In two's complement ($2^{n} - N$) you have:
$$S = -M + N = \bar{M} + N = (2^{n} - M) + N = 2^{n} - (N - M)$$
Discarding the MSB does $- 2^{n}$
 and gives you:
$$SUM = S -2^{n} = 2^{n} - (N - M) - 2^{n} = N - M$$

Done you are.