I also know that L and S commute, but I am unsure why. I've heard that it is simply because they act on difference variables, but I don't understand exactly what this means. Is there a way to show this explicitly?
Suppose we have two Hilbert spaces $H_1$ and $H_2$, an operator $A_1$ acting on $H_1$, and an operator $A_2$ acting on $H_2$. Let $H = H_1 \otimes H_2$. Then we can define $A_1$ and $A_2$ on $H$ by defining
\begin{align}
A_1(|a_1\rangle \otimes |a_2\rangle) &= A_1|a_1\rangle \otimes |a_2\rangle \\
A_2(|a_1\rangle \otimes |a_2\rangle) &= |a_1\rangle \otimes A_2|a_2\rangle
\end{align}
where $|a_1\rangle \in H_1, |a_2\rangle \in H_2$; and extending linearly to all of $H$. Then
\begin{align}
A_1 \circ A_2(|a_1\rangle \otimes |a_2\rangle) &= A_1(|a_1\rangle \otimes A_2|a_2\rangle) \\
&= A_1|a_1\rangle \otimes A_2|a_2\rangle \\
&= A_2(A_1|a_1\rangle \otimes |a_2\rangle) \\
&= A_2 \circ A_1(|a_1\rangle \otimes |a_2\rangle)
\end{align}
so the commutator vanishes on all pure tensors, and hence on all of $H$.
This is precisely the situation we have with the operators $L$ and $S$. In general, the wave function of a particle lives in a tensor product space. The spatial part of the wave function lives in one space, that of square-integrable functions on $\mathbb{R}^3$. The spin part, on the other hand, lives in a spinor space, i.e., some representation of $SU(2)$. $L$ acts on the spatial part, whereas $S$ acts on the spin part.
What are the remaining commutation relations between $J$, $J^2$, $L$, $L^2$, $S$, and $S^2$?
You should be able to work these out on your own, using the commutation and anti-commutation relations you already know, and properties of commutators and anti-commutators. For example,
$$[J_i, L_j] = [L_i + S_i, L_j] = [L_i, L_j] + [S_i, L_j] = i\hbar\epsilon_{ijk} L_k$$
Likewise:
\begin{align}
[J_i^2, L_j] &= J_i[J_i, L_j] + [J_i, L_j]J_i \\
&= J_i(i\hbar \epsilon_{ijk}L_k) + (i\hbar\epsilon_{ijk}L_k)J_i \\
&= i\hbar\epsilon_{ijk}\{J_i, L_k\} \\
&= i\hbar\epsilon_{ijk}\{L_i + S_i, L_k\} \\
&= i\hbar\epsilon_{ijk}(\{L_i, L_k\} + \{S_i, L_k\}) \\
&= i\hbar\epsilon_{ijk}(2\delta_{ik} I + 2S_i L_k) \\
&= 2i\hbar\epsilon_{ijk} S_i L_k
\end{align}
where we have used the fact that $L_i$ and $S_j$ commute, the linearity of $[,]$ and $\{,\}$, and the identity
$$[AB, C] = A[B, C] + [A, C]B$$
Observables don't commute if they can't be simultaneously diagonalized, i.e. if they don't share an eigenvector basis. If you look at this condition the right way, the resulting uncertainty principle becomes very intuitive.
As an example, consider the two-dimensional Hilbert space describing the polarization of a photon moving along the $z$ axis. Its polarization is a vector in the $xy$ plane.
Let $A$ be the operator that determines whether a photon is polarized along the $x$ axis or the $y$ axis, assigning a value of 0 to the former option and 1 to the latter. You can measure $A$ using a simple polarizing filter, and its matrix elements are
$$A = \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}.$$
Now let $B$ be the operator that determines whether a photon is $+$ polarized (i.e. polarized southwest/northeast) or $-$ polarized (polarized southeast/northwest), assigning them values 0 and 1, respectively. Then
$$B = \begin{pmatrix} 1/2 & -1/2 \\ -1/2 & 1/2 \end{pmatrix}.$$
The operators $A$ and $B$ don't commute, so they can't be simultaneously diagonalized and thus obey an uncertainty principle. And you can immediately see why from geometry: $A$ and $B$ are picking out different sets of directions. If you had a definite value of $A$, you have to be either $x$ or $y$ polarized. If you had a definite value of $B$, you'd have to be $+$ or $-$ polarized. It's impossible to be both at once.
Or, if you rephrase things in terms of compass directions, the questions "are you going north or east" and "are you going northeast or southeast" do not have simultaneously well-defined answers. This doesn't mean compasses are incorrect, or incomplete, or that observing a compass 'interferes with orientation'. They're just different directions.
Position and momentum are exactly the same way. A position eigenstate is sharply localized, while a momentum eigenstate has infinite spatial extent. Thinking of the Hilbert space as a vector space, they're simply picking out different directions; no vector is an eigenvector of both at once.
Best Answer
In quantum mechanics, a measurement (almost) always modifies the system being measured. Intuitively, if two measurements commute then the way that one measurement changes the system doesn't affect the results of the other measurement. So if you repeat those two measurements as many times as you want, in any order, then you'll always get the same results for each of the two measurements.
On the other hand, if the two measurements don't commute, then every time you perform one, it will (at least partially) "reset" the other observable to an indeterminate value (I'm glossing over some subtleties).
This explains why if an observable commutes with the Hamiltonian, then its value is conserved over time: the Hamiltonian "pushes the system into the future", so in some sense it is continuously acting on the system and changing it in a way that modifies the value of most observables - except for the special ones that commute with the Hamiltonian, and so are not affected by time evolution.