Commutativity of matrix and its transpose
Matrices for which $S^*S=SS^*$ holds are called normal. Here $*$ denotes the conjugate transpose. In the case of a real matrix this is equivalent to $SS^T=S^TS$.
Normal matrices are precisely the ones that are diagonalisable by a unitary transformation, i.e
$$ S = U^* D U $$ for $U$ unitary and $D$ diagonal.
Unitarity is in general a key property. Even if $S$ is real, an orthogonal transformation will not do in general. Take any non-trivial rotation in the plane for example. It is certainly normal, but has no real eigenvalues. They can be unitarily diagonalised though.
On the other hand, (skew-) symmetric matrices are an example of real matrices that can be orthogonally diagonalised.
Several equivalent characterisations can be found for example on the Wikipedia page.
This is not an answer, but might be fun to read. Nephente's comment on normal matrices is an answer.
Suppose that a matrix $A$ commutes with it's transpose $A^T$. Let's calculate $(AA^T)_{ij}=\sum_{k=1}^n a_{ik}(a_{kj}^t)=\sum_{k=1}^n a_{ik}a_{jk}$. View $A$ as a collection of rows $A_1, \dots ,A_n$. Then $(AA^T)_{ij}=\left\langle A_i,A_j \right\rangle$ where $\left\langle \cdot, \cdot \right\rangle$ denotes the standard inner product. In the same fashion $(A^TA)_{ij}=\left\langle C_i, C_j \right\rangle$ where $C_i$ is the $i$-th column of $A$. Hence $AA^T=A^TA$ implies that the inner product of the $i$-th row with the $j$-th row is the same of for the corresponding columns. In fact this characterizes normal matrices.