Why does a meromorphic function in the (extended) complex plane have finitely many poles?
By definition a pole is an isolated singularity, and so each pole has a neighborhood containing no other poles besides itself. Thus the set of all poles is discrete.
The set of poles is also closed, since its complement, the set of points at which $f$ is holomorphic, is open. (Any point where $f$ is holomorphic has a neighborhood restricted to which $f$ is holomorphic.)
Since $\mathbb C \cup \{\infty\}$ is compact, any discrete and closed subset is discrete and compact, hence finite.
(Note that the reasoning of the first two paragraphs applies to a meromorphic function on any open subset of the Riemann sphere. E.g. a meromorphic function on $\mathbb C$ can have infinitely many poles, but they must form a closed and discrete subset of $\mathbb C$, and hence there can only be finitely many in any given bounded subset, i.e. they must accumulate at $\infty$. A typical example is given by $f(z) = 1/\sin z$.)
Poles are isolated singularities, therefore they are at most countable. (There exists an injective map between the isolated singularities and $\mathbb{Q}^2$)
A meromorphic function $f$ in the extended complex plane either has pole at infinity or is holomorphic at infinity. In either case there is a radius $R$ large enough so that in the region $|z|>R$ there is at most one pole, which is at infinity.
We now consider the other poles which can only be in set $K=\{|z|\leq R\}$. Suppose there are countably infinite of them, then they form a bounded sequence in $\mathbb{R}^2$. By Bolzano-Weierstrass Theorem, there must be a convergent subsequence, which contradicts the fact that all poles are isolated singularities. So there can only be finite of them.