Classify the singularities of the function $$f(z)=\frac{z^3+1}{z^2(z+1)} $$
has singularities $z=0, z=-1$  right?
How can I determine the type of singularity of this points?
Classifications:
1.)Removable pole (Then $f(z_0)$ is bounded, $f(z)$ has a limit if $z \to \infty$
2.) Pole of order $m \implies |f(z)|\to \infty $ as $z \to z_0$
3.) Essential singularity : not bounded, does not go to infinity.
(Another way to descibre is to look at the coefficients of the Laurent Series.
 A: A function $f$ which is holomorphic for all $z$ near $z_0 \in \mathbb{C}$ (with $z \neq z_0$) has a pole of order $m>0$ at $z=z_0$ if and only if
$$
\lim_{z \to z_0} (z-z_0)^m f(z)
$$
is finite and nonzero.  If $f$ has a singularity at $z=z_0$ and
$$
\lim_{z \to z_0} f(z)
$$
is finite and nonzero then the singularity is removable, and vice versa.
A: Decompose $f$ as
$$f(z)=\dfrac{z^3+1}{z^2(z+1)}=\dfrac{(z+1)(z^2-z+1)}{z^2(z+1)}.$$
Then $f$ has at $z_0=-1$ removable singularity and pole of order $2$ at $z_1=0.$ What type of singularity is at $z^*=\infty$ ?
A: By applying partial fraction decomposition, we get:
$$
f(z) = 1 - \dfrac{1}{z} + \dfrac{1}{z^2}
$$
It's now easy to see that $z = -1$ is a removable singularity. $z^3 + 1$ can be factored as $(z + 1)(z^2 - z + 1)$ so $z + 1$ can be canceled and this removes the singularity.
For the singularity at $z = 0$, it is a pole of order two as the principal part is clearly $- \dfrac{1}{z} + \dfrac{1}{z^2}$.
A: The exposition of @Ayman Hourieh simplifies the problem.
For visual reinforcement, conformal maps are presented where Re $z$ is blue, and Im $z$ is red. On the left is the input function
$$
 f(z) = \frac{z^{3} + 1}{z^{2}(z+1)} = 1 - \frac{1}{z} + \frac{1}{z^{2}}
$$
On the right is the input function with the singularity suppressed
$$
 z^{2}f(z) = \frac{z^{3} + 1}{(z+1)} = z^{2} - z + 1
$$

Addendum
@nilo de roock and others have asked how to reproduce plots in Mathematica.
z := x + I y;
f[z_] := (z^3 + 1)/(z + 1);
\[Lambda] = 1;
pts = 100;
gre = ContourPlot[
   ComplexExpand[Re[f[z]]], {x, -\[Lambda], \[Lambda]}, {y, -\[Lambda], \[Lambda]}, 
   Contours -> 15, ContourShading -> None, 
   ContourStyle -> {{Blue, Opacity[0.5]}}, PlotPoints -> pts];

