I understand a covariance matrix is always positive semi-definite, but it seems that the covariance matrix would almost always be positive definite (although theoretically is only guaranteed to be positive semi-definite).
For example, $\det [A] \geq 0$ if $A$ is positive semi-definite, and $\det [A] > 0$ if $A$ is positive definite. Since the product of eigenvalues is the determinant, the implication of $\det [A] > 0$ is that no eigenvalue is zero. In other words, if a covariance matrix is positive definite, variability exists on all variables no matter how we transform the data.
Is this reasoning correct? Is this not almost always the case since data is never perfect? If so, are most covariance matrices actually positive definite?