… → A → B → C → …
The image of A in B acts as the kernel of the next homomorphism from B into C, and so on. The following is a short exact sequence.
0 → A → B → C → 0
The first homomorphism takes 0 into A, and is 0. This acts as the kernel of the next homomorphism, hence A embeds in B. The quotient B/A then maps into C, and this becomes the kernel of the final homomorphism from C to 0. Of course the kernel is all of C, hence C = B/A. The short exact sequence is fancy notation for C = B/A.
Since A is the kernel and the elements of D represent distinct cosets of A in B, and since all the cosets are represented, everything in B is spanned, uniquely, by an element of D and an element of A. Adding and scaling are accomplished per component, and B is the direct product A*D. Conversely, if B = A*C then B is split exact, with kernel A and quotient C, and a reverse homomorphism mapping C onto itself, that is compatible with the forward homomorphism from B onto C.
Here is another criterion for split exact. Let k be a reverse homomorphism from B onto A, such that the composition A → B → A produces the identity map on A. A direct product implies such a homomorphism. When B is A*C, k is the projection from the direct product onto the first component, namely A. Conversely, assume k exists and let D be the kernel of k. The elements of A correspond 1-1 with the cosets of D in B. Thus B is isomorphic to A*D. Since D forms the cosets of A, it is isomorphic to C. In other words, B = A*C, and the sequence is split exact.
Since split exact implies two reverse homomorphisms, it is sometimes written like this.
0 → A ⇔ B ⇔ C → 0
Let f be the homomorphism that maps B onto P, with kernel A. Let g be the identity map on P. There is then a lift H, from P into B, such that hf = g. Now H is the reverse homomorphism that embeds P into B. The image of P in B is the copy of P in B that is compatible with f. In other words, the sequence is split exact. Thus B = A*P.
Next assume every short exact sequence ending in P is split exact. Let W be a free module that maps onto P. Now W = K*P, where k is the kernel of the homomorphism. In other words, P is the summand of a free module.
Finally assume P is the summand of a free module. Every free module is projective, and a module is projective iff its components are projective, hence P is projective. This completes the circle. A module P is projective iff every short exact sequence ending in P is split exact, iff P is the summand of a free module.
When R is a pid, the submodule of a free module is free, hence projective and free are synonymous.
However, if R is dedekind, and not a pid, consider any nonprincipal ideal H. This ideal, which doubles as an R module, is projective, but since it is not principal, it is not free.