When is the duality gap of semidefinite programming (SDP) zero? I haven't been able to find in the literature a precise characterization of the vanishing of the SDP duality gap. Or, when does "strong duality" hold?

For example, when one goes back and forth between the Lasserre and the SOS SDP, in principle one has a duality gap. However, somehow there seems to be some "trivial" reason why this gap isn't there. 

Slater's condition seems to be sufficient but not necessary and it applies to all convex programs. I am hoping that for SDPs in particular something stronger might be true. I would be equally happy to see any explicit example of using Slater's condition to prove the vanishing of the duality gap.
There is a more complicated theory of duality for SDPs that is exact: there is no 'extra condition' like Slater's condition.  This is due to Ramana.  (For another take on this involving SOS, see [KS12].)  To be honest, I've never tried to understand these papers and would be happy if someone dumbed them down for me.

One notable consequence of this work is that the problem of testing whether a given SDP is feasible is in NP if and only if it is in coNP.  (However, I think the experts expect the problem is in neither.  The best upper bound known is PSPACE.)