In order to understand Thikonov's stabilization, it helps to first look at the ordinary least square solution $x^*$:
\begin{align*}
x^* = (A^T A)^{-1}A^T b
\end{align*}
We see that it's necessary to calculate the inverse of $A^T A$ and this might not be possible, if $A$ has nearly linearly dependent columns. But let's take a closer look onto this, by factorizing just the suspicious term by a singular value decomposition.
Then $A^T A = U \Sigma V^T$ where $U$ and $V$ are the eigenvectors and $\Sigma$ is a diagonal matrix that contains the non-zero eigenvalues. It's not of special interest here that $U=V$, but it is very important that the pseudoinverse $(A^T A)^{-1}$ is found by inverting $\Sigma$.
More specific, the reciprocal of each eigenvalue, let's say $\sigma_i$ has to be found. And this might get difficult, if two columns are nearly linear dependent. In this case, $\sigma_i$ is very small and the result of the division gets very large and tiny pertubations of $\sigma_i$ lead to large fluctuations of the inverse.
It is possible to monitor such cases and as this answer already mentions the condition number is one of these indicators.
The solution that Thikonov provides to overcome the problem is simple, but very effective: just take a positive variable $\lambda$ and add it to the denominator. This will bound the overall result and stabilize the solution:
\begin{equation}
\Sigma_{ii}^+ = 1 / (\sigma_i + \lambda)
\end{equation}
As we now have identified the cause of instabilities and inserted a term that prevents them, we can add the same to our known equation and role it back:
\begin{equation}
U (\Sigma + \lambda I) V^T = U \Sigma V^T + \lambda U V^T = A^TA + \lambda I
\end{equation}
And finally, we arrive at the well known:
\begin{align*}
x^* = (A^T A + \lambda I)^{-1}A^T b
\end{align*}