How to prove that $(b,\lambda-a)^T$ is the general formula for the eigenvector of a $2\times2$ matrix?
The key observation is that the vector $(v,-u)^\top$ is orthogonal to the vector $(u,v)^\top$. If $k$ is an eigenvalue of the matrix $A$, then the matrix $A-kI$ is singular, and so its rows are linearly dependent. What is the first row of $A-kI$? It is the vector $(a-k,b)^\top$. Any nonzero vector $\mathbf x$, then, satisfying $(A-kI)\mathbf x=0$ must be orthogonal to the rows of $A-kI$, and hence must be a scalar multiple of $(b,k-a)^\top$, as desired. Well, there is an exception: What if $(a-k,b)^\top = (0,0)^\top$? Then we need to go to the second row and use the vector $(k-d,c)^\top$.
When $k$ is a repeated eigenvalue, as you said, then $A=kI$ and every vector is an eigenvector. The criterion applies only to the case of an eigenvalue of algebraic multiplicity $1$.
If $k$ is an eigen value corresponding to the eigen vector $\mathbf{v}=\begin{bmatrix}b\\k-a\end{bmatrix}$, then
\begin{align*} A\mathbf{v}&=k\mathbf{v}\\ \begin{bmatrix} a & b\\ c & d \end{bmatrix}\begin{bmatrix}b\\k-a\end{bmatrix}&=k\begin{bmatrix}b\\k-a\end{bmatrix}\\ \begin{bmatrix}bk\\cb+dk-ad\end{bmatrix}&=k\begin{bmatrix}b\\k-a\end{bmatrix}\\ \end{align*} Since the two vectors are equal to each other, we get $$cb+dk-ad=k^2-ak \implies \color{red}{k^2-(a+d)k+(ad-bc)=0}.$$ But this holds true because the last equation is the characteristic equation of the given matrix and eigen values are roots of this equation.
If $ad-bc=0$ (i.e. the determinant is $0$), then $k=0$ will also be a solution to this problem.
Since $k$ is an eigenvalue, we know that $$\det (A-kI)=0$$
That gives you $$k^2-k(a+d)+ad-bc=0$$
This is what you need for the second component of the eigenvector to work. It may look messy but works fine when you multiply your matrix by your eigenvector.