Partial Fractions: Why does this shortcut method work?
Just multiply the whole formula by the linear factor that you are setting to zero. It cancels on the left side and in exactly one term on the right side. in your second example with the factor $n+2$ this gives $$ \frac1{n(n+1)}=(n+2)\frac an+(n+2)\frac{b}{n+1}+c $$ Then set the linear factor to zero, that is, evaluate at its root and , giving exactly the procedure you describe. $$ \frac1{(-2)(-2+1)}=0\frac a{-2}+0\frac{b}{-2+1}+c $$ Note that this does not work if the factor has a higher multiplicity. There is an extension that works with truncated Taylor series, but this is more suitable for a computer implementation.
I'll just start with $a$ as an example. Multiply both sides by $n$ to get $$\frac 1{(n+1)(n+2)} = a + \frac {bn}{n+1} + \frac {cn}{n+2}$$ Since this is true for all $n$, plug in $0$. The $b$ and $c$ terms become $0$, leaving $a$ in the formula described above: $$\frac 1{(0+1)(0+2)} = a$$
This is a nice shortcut. It uses the observation that the function on the LHS has divergences at the isolated values of $n$ that make the denominator zero, and each term on the RHS must match one of those divergences (in both location and magnitude). So, suppose in general that the LHS is $$ \frac{1}{(n-z_1)(n-z_2)\ldots(n-z_k)}=\frac{c_1}{n-z_1} + \frac{c_2}{n-z_2} + \cdots + \frac{c_k}{n-z_k}. $$ and let $n=z_i + \varepsilon$. Then the RHS is clearly $\sim c_i / \varepsilon$, while the LHS is asymptotic to $$ \frac{1}{(z_i-z_1)(z_i-z_2)\cdots(z_i-z_{i-1})\cdot\varepsilon\cdot(z_i-z_{i+1})\cdots(z_i-z_k)}, $$ when $\varepsilon \rightarrow 0$. Equating the two gives your shortcut result, $$ c_i = \frac{1}{(z_i-z_1)(z_i-z_2)\cdots(z_i-z_{i-1})\cdot(z_i-z_{i+1})\cdots(z_i-z_k)}. $$ This relies on the $z_i$ being distinct; you need to do more work to handle higher multiplicities.