# Why can the spin operator be written as a product of fermions?

I was studying the Hubbard model, where we define the spin operator $$\vec{S} = \frac{1}{2} c^\dagger \vec{\sigma} c$$, where the creation and annihilation operators are both vectors of the form $$c^\dagger = (c^\dagger_\uparrow, c^\dagger_\downarrow)$$ (I've used $$\hbar = 1$$). This spin operator is of course the same as the spin operator that we use in other lattice systems, like the Heisenberg model or the Ising model. In fact, when we write the spin operators in the Heisenberg models in terms of fermions, we use precisely this formula. However in these models, we also denote $$\vec{S} = \frac{\vec{\sigma}}{2}$$.

Is there any deeper reason why both these forms are possible, besides the fact that the spin commutation relations must satisfy $$[S_i, S_j] = \epsilon_{ijk} S_k$$? Should the number operator $$n = c^\dagger c$$ necessarily be 1 on the Heisenberg/Ising models? Under what conditions is the formula $$\vec{S} = \frac{\vec{\sigma}}{2}$$ true?