Here's a proof I learned from some notes of Richard Melrose. I just noticed another answer was posted while I was typing. This uses a different characterization of compactness so hopefully it is interesting for that reason.
First, I claim that a set $K\subset H$ of a Hilbert space is compact if and only if it is closed, bounded, and satisfies the equi-small tail condition with respect to any orthonormal basis. This means that given a basis $\{e_k\}_{k=1}^\infty$, for any $\varepsilon>0$ we can choose $N$ large enough such that for any element $u\in H$,
$$\sum_{k>N} |\langle u , e_k \rangle |^2 < \varepsilon.$$
The main point here is that this condition ensures sequential compactness. The proof is a standard "diagonalization" argument where you choose a bunch of subsequences and take the diagonal. This is done in detail on on page 77 of the notes I linked.
With this lemma in hand, the proof is straightforward. I repeat it from page 80 of those notes. Fix a compact operator $T$. By definition [this is where we use a certain characterization of compactness] the image of the unit ball $T(B(0,1))$ is compact. Then we have the tail condition that, for given $\varepsilon$, there exists $N$ such that
$$\sum_{k>N} |\langle Tu , e_k \rangle |^2 < \varepsilon.$$
for any $u$ such that $\| u \| < 1$.
We consider the finite rank operators
$$T_nu = \sum_{k\le n} \langle Tu , e_k \rangle e_k.$$
Now note the tail condition is exactly what we need to show $T_n \rightarrow T$ in norm. So we're done.
For any closed subspace $K$ of a Hilbert space $H$, we have
$$H/K\cong K^\perp.$$
Proof.
$\newcommand{\co}{\operatorname{coker}}$Let \begin{align*}\Phi: & K^\perp\to H/K\\
& h\mapsto [h]\end{align*}
(1) Of course, $\Phi$ is linear bounded.
(2) $\Phi$ is injective. Suppose $h\in K^\perp$ such that $\Phi(h)=0$, then $h\in K^\perp\cap K$, so $h=0$.
(3) $\Phi$ is surjective. For any $h\in H$, there is some $h'\in K^\perp$ such that $h-h'\in K$, thus $\Phi(h')=[h']=[h]$.
Noting that $TH$ is closed subspace in the question, $H/TH\cong (TH)^\perp$.
Best Answer
Because $T$ is finite-rank, it is compact. Both $I-T$ and $I-T^*$ are Fredholm, of index zero. So the dimension of each kernel is the codimension of the range, or the dimension of the orthocomplement of the range, and both are finite-dimensional. But if $x$ is perpendicular to everything in the range of $I-T$, a formal computation shows that $$\begin{align*} 0&=\langle x,(I-T)y\rangle\\ &=\langle(I-T^*)x,y\rangle \end{align*}$$ so $x$ is in the kernel of $(I-T^*)$. So the codimension of the range of $I-T$ is at most the dimension of the kernel of $(I-T^*)$, and, symmetrically, the codimension of the range of $(I-T)$ is at most the dimension of the kernel of $(I-T)$. But using the fact that the dimensions of the kernels and the codimensions of the ranges are the same, we get equality. $$\begin{align*} \text{codim} \text{ Ran}(I-T)&\le\dim\text{ Ker}(I-T^*)\\ \text{codim}\text{ Ran}(I-T^*)&\le\dim\text{ Ker}(I-T)\\ &\implies\\ \dim\text{ Ker}(I-T)&\le\dim\text{ Ker}(I-T^*)\\ \dim\text{ Ker}(I-T^*)&\le\dim\text{ Ker}(I-T) \end{align*}$$ so they are equal.