Suppose $x_1,\cdots,x_n\in{\bf R}^m$ are $n$ vectors from $m$-dimensional Euclidean space. Notice: if $n=m$ then the gram determinant (with $X=[x_1~\cdots~x_n]\in M_{n\times n}({\bf R})$) is in fact given by
$$G(X)=\det(X^TX)=\det(X^T)\det(X)=\det(X)\det(X)=\det(X)^2,$$
which is equal to the square of the (hyper)volume of the parallelepiped formed by the vectors $x_i$; further the vectors $x_1,\cdots,x_n$ are linearly independent iff $\dim_{\,\bf R}\langle x_1,\cdots,x_n\rangle=n$ iff no $x_i$ is contained in the subspace spanned by the other $x_j$s iff the parallelepiped generated by the $x_i$ has nonzero $n$-dimensional volume, regardless of what the dimension $m$ is relative to $n$.
Theorem. The gram determinant $G(X)$ is the square of the $n$-dimensional volume of the parallelepiped formed by the column vectors of $X$ in $m$-dimensional Euclidean space.
Surprisingly, this is not too hard to prove if we allow ourselves a simple geometric fact: for any two subspaces of ${\bf R}^m$ of equal dimension, there is a rotation matrix $U$ which sends the first onto the second. Rotations preserve angles and distances between vectors, so $\langle Ux,Uy\rangle=\langle x,y\rangle$ for any $x,y$.
In particular, then, (assume $n< m$) let $U$ send $\langle x_1,\cdots,x_n\rangle$ to ${\bf R}^n\subset{\bf R}^m$, so that
$$G(UX)=G(Ux_1,\cdots,Ux_n)=$$
$$\det \begin{vmatrix} \langle Ux_1, Ux_1\rangle & \langle Ux_1, Ux_2\rangle & \dots & \langle Ux_1, Ux_n \rangle \\
\langle Ux_2, Ux_1 \rangle & \langle Ux_2, Ux_2 \rangle &\dots & \langle Ux_2, Ux_n \rangle \\
\vdots & \vdots & \ddots & \vdots \\
\langle Ux_n, Ux_1 \rangle & \langle Ux_n, Ux_2 \rangle & \dots & \langle Ux_n, Ux_n \rangle \end{vmatrix} =\det \begin{vmatrix} \langle x_1,x_1\rangle & \langle x_1,x_2\rangle & \dots & \langle x_1,x_n \rangle \\
\langle x_2,x_1 \rangle & \langle x_2,x_2 \rangle &\dots & \langle x_2,x_n \rangle \\
\vdots & \vdots & \ddots & \vdots \\
\langle x_n,x_1 \rangle & \langle x_n,x_2 \rangle & \dots & \langle x_n,x_n \rangle \end{vmatrix}$$
$$=G(x_1,x_2,\cdots,x_n)=G(X).$$
Now each column vector $Ux_i$ has zeros in the final $m-n$ components; let $y_i\in{\bf R}^n$ be the vector $Ux_i$ with these extra zeros cut off, and let $Y=[y_1~\cdots~y_n]$. Since $\langle Ux_i,Ux_j\rangle=\langle y_i,y_j\rangle$, we conclude that $G(X)=G(UX)=G(Y)$. Now $G(Y)$ is the square of the volume of the image of the parallelepiped on the ${\bf R}^n$ subspace of ${\bf R}^m$ under the transformation $U$, but $U$ preserves volumes so this is in fact equal to the volume of the original parallelepiped formed by $X$.
This gives us the case $n<m$. We already covered the case $n=m$. If $n>m$ then $X^T$ is a map from ${\bf R}^n$ to the space ${\bf R}^m$ of lesser dimension. Thus $X^Tx_1,\cdots,X^Tx_n$ must be linearly dependent (there are more than $m$ vectors), hence the gram determinant $G(X)=\det[X^Tx_1~\cdots~X^Tx_n]=0$.