From Complex Analysis by Bak and Newman (p. 118):
If $f$ is analytic in a deleted neighborhood of $z_0$ and if there exists a positive integer $k$ such that $$\lim_{z→z_0} (z − z_0)^k f (z) \neq 0 \hspace{1em} \text{but} \hspace{1em} \lim_{z→z_0}(z − z_0)^{k+1} f(z) = 0,$$ then $f$ has a pole of order $k$ at $z_0$.
Why do we need this fragment
$\text{but} \hspace{1em} \lim_{z→z_0}(z − z_0)^{k+1} f(z) = 0$
isn't it redundant?
That requirement is to guarantee that the pole is of exactly order $k$, if the pole if of higher order we would have that $(z-z_0)^kf(z)$ would have a pole as well.
One could alternatively have written the extra requirement as $\lim (z-z_0)^kf(z) \ne \infty$ instead.
A simple example is $f(z) = (z-z_0)^{-k-1}$ which means that $(z-z_0)^kf(z) = (z-z_0)^{-1}$ and we would have that $f(z)$ has a pole of order $k+1$ there, but then $\lim (z-z_0)^kf(z) = \infty$ and $\lim (z-z_0)^{k+1}f(z) = \lim 1=1\ne0$.
As a note one can know that $f$ has a pole at all and it's not a essential singularity since the limit exists (due to Picard's theorem).