For open-loop stability, all the poles of the open-loop transfer function G(s)H(s) have to be in the left half-plane.
For closed-loop stability (the one that matters), all the zeros of the transfer function F(s) = 1 + G(s)H(s) have to be in the left half-plane. These zeros are the same as the poles of the transfer function of the closed-loop system (G(s) / (1+G(s)H(s)).
So if you draw the poles and zeros of G(s)H(s) in a graph, the poles have to be in the left half-plane for open-loop stability.
But if you draw the poles and zeros of the closed-loop transfer function (G(s) / (1+G(s)H(S)) then if all the poles are in the left half-plane, the closed-loop system is stable.
But how do you then figure out the closed-loop stability from a G(s)H(s) function?
You can either:
1) Find the roots of 1+G(s)H(s)=0 (simple)
2) Use the Routh stability criterion (moderate)
3) Use the Nyquist stability criterion or draw the Nyquist diagram (hard)
In summary, if you have the closed-loop transfer function of a system, only the poles matter for closed-loop stability. But if you have the open-loop transfer function you should find the zeros of the 1+G(s)H(s) transfer function and if they are in the left half-plane, the closed-loop system is stable.