In this post, it is stated that
In fact, using the SVD to perform PCA makes much better sense numerically than forming the covariance matrix to begin with, since the formation of $XX^\top$ can cause loss of precision
Why is this the case? Isn't $XX^\top$ just a matrix multiplication, what makes this operation so disastrous?