If $p,q\in\mathbb C$, I will prove that any root of the polynomial$$x^3+px+q,\label{f}\tag1$$can be written as $u+v$, where $u,v\in\mathbb C$ are such that $u^3+v^3+q=0$ and that $3uv+p=0$, thereby proving that Cardano's formula always provides all roots of \eqref{f}.
Let $\omega=-\frac12+\frac{\sqrt3}2i$ and note that the cube roots of $1$ are $1$, $\omega$ and $\omega^2$. Now, let $u$ be a cube root of $-\frac q2+\sqrt{\frac{q^2}4+\frac{p^3}{27}}$ and let $v$ be a cube root of $-\frac q2-\sqrt{\frac{q^2}4+\frac{p^3}{27}}$ (and note that this implies that $u^3+v^3+q=0$), chosen so that $3uv=-p$. This can always be done: if $u$ is any cube root of $-\frac q2+\sqrt{\frac{q^2}4+\frac{p^3}{27}}$ and $v$ is any cube root of $-\frac q2-\sqrt{\frac{q^2}4+\frac{p^3}{27}}$, then\begin{align}u^3v^3&=\left(-\frac q2+\sqrt{\frac{q^2}4+\frac{p^3}{27}}\right)\left(-\frac q2-\sqrt{\frac{q^2}4+\frac{p^3}{27}}\right)\\&=\frac{q^2}4-\left(\frac{q^2}4+\frac{p^3}{27}\right)\\&=\left(-\frac p3\right)^3,\end{align}and therefore $uv$ is one of the numbers $-\frac p3$, $-\frac p3\omega$ or $-\frac p3\omega^2$. If it is equal to $-\frac p3$, you are done. If $uv=-\frac p3\omega$, then use $\omega^2v$ instead of $v$ (note that $\left(\omega^2v\right)^3=v^3$) and you are done. Finally, if $uv=-\frac p3\omega^2$, then use $\omega v$ instead of $v$.
So, now you have these numbers $u$ and $v$ such that$$u^3=-\frac q2+\sqrt{\frac{q^2}4+\frac{p^3}{27}}\text{, that }v^3=-\frac q2-\sqrt{\frac{q^2}4+\frac{p^3}{27}},$$and that $3uv=-p$. Therefore, the number $s_1=u+v$ is a root of \eqref{f}. By the same argument, so are the numbers $s_2=\omega u+\omega^2v$ and $s_3=\omega^2u+\omega v$. So, if the numbers $s_1$, $s_2$ and $s_3$ are three distinct numbers, then, since we are dealing with a cubic polynomial here, there can be no more roots, and it is then proved that every root is given by Cardano's formula.
What if the numbers $s_1$, $s_2$ and $s_3$ are not distinct? Suppose, say, that $s_2=s_3$. We have\begin{align}s_2=s_3&\iff\omega u+\omega^2v=\omega^2u+\omega v\\&\iff u+\omega v=\omega u+v\\&\iff(1-\omega)u=(1-\omega)v\\&\iff u=v.\end{align}There are now two possibilities to be considered: $u=0$ and $u\ne0$.
If $u=0$, then, since $v=u$, $v=0$ too. So, $p=-3uv=0$ and $q=-u^3-v^3=0$. Therefore, the only root of \eqref{f} is $0$, but the only number provided by Cardano's formula in this case is also $0$.
Finally, assume that $u\ne0$. Then $s_1=u+v=2u$ and$$s_2=\omega u+\omega^2v=\left(\omega+\omega^2\right)u=-u.$$Since both $2u$ and $-u$ are roots of \eqref{f}, and $2u\ne-u$, \eqref{f} can be written as$$(x-2u)(x+u)(x-r)\label{g}\tag2$$for some $r\in\Bbb C$. But the coefficient of $x^2$ in \eqref{g} is $-u-r$, whereas the coefficient of $x^2$ in \eqref{f} is $0$, and therefore $r=-u$; in other words, the only roots of \eqref{f} are $2u$ and $-u$. So, again, there are no other roots of \eqref{f} besides those provided by Cardano's formula.