What's the difference between the different types of poles, zeroes and singularities in complex analysis? I am trying to get an understanding on the difference between the different types of poles, zeroes and singularities in complex analysis and how to identify them. 
When is it a removable singularity, and why? When is it a simple pole? etc.
So far I am having trouble with this, and would greatly appreciate some suggested ways of thinking/methods when trying to identify them.   
I don't really have an example, as I just generally want to learn and understand it.

This is how poles of different order looks like. If you are not sure, you can just plot it.

$\dfrac{z}{1-\cos z}$ is a good example. $1-\cos z$ has zero at $z=2πk$ but $z$ on the nominator removed the second order pole at $z=0$ by order 1. So, this function has a pole of order 1 at $z=0$ but of order 2 at other $z=2πk$.
Here is an illustration:

Just in case you are interested in my MATLAB code:

