In connection to this post (see "Concept Three"), and one of the answers, I reviewed the usual set up of orthogonal projections: namely, we have a vector $\bf a$ along the line we are orthogonally projecting on some other vector $\bf b$, and then we use the zero dot product of the difference, $\bf b -\lambda a$ with $\bf a$ to derive the formula $\bf \frac{aa^\top}{a\top a}$. The denominator is a scalar, and it is $1$ if $\vert a \vert=1$. We move on to matrices and we have $\bf A(A'A)^{-1}A'$. Now $\bf (A'A)^{-1}$ is no longer a scalar, but it kindly goes away if $\bf A$ is composed of ortho-normal vectors of the subspace we are projecting on, leaving the beautiful and simple $\bf AA^\top$ form.
But can we drop the "orthogonal" from (orthogonal) projection, for example, or introduce some other caveat, and still be able to freely proclaim that any matrix of the form $\bf XX^\top$ is a projection matrix?
I see for instance something along the lines of "... provided $\bf A$ is invertible... $\left(\bf AA^\top\right)^2= \bf A\left(A^\top A\right) A^\top$ getting in the way of idempotence, unless the columns of $\bf A$ are orthonormal. But does this close the case?