Your approach is correct until line #4. $(x + 2)(x + 3) \geq 0$ doesn't mean both of the factors $x + 2$ and $x + 3$ have to be $\geq 0$.
$a \cdot b \geq 0$ implies that either both of $a$ and $b$ are positive or both of $a$ and $b$ are negative (positive times negative is negative, so it can't be the case that one of $a, b$ is positive and another is negative).
Thus, either $x + 2 \geq 0, x + 3 \geq 0$ or $x + 2 \leq 0, x + 3 \leq 0$. In the first case we get, by rearranging, $x \geq -2, x \geq -3$ and in the second case, similarly, $x \leq -2, x \leq -3$.
Now $x \geq -2$ automatically implies $x \geq -3$, so knowing $x \leq -3$ is superfluous information : the relevant conclusion is $x \geq -2$.
Similarly, $x \leq -3$ automatically implies $x \leq -2$. So $x \leq -2$ is superfluous, and the information of interest is $x \leq -3$.
Hence, the inequality holds if and only if $x \geq -2$ or $x \leq -3$. In mathematical notation, the solution of the inequality is $x \in (-\infty, -3] \cup [-2, \infty)$.