Decomposition into Finite Simple Groups

I realize that not every finite non-simple group can be expressed as the direct product of finite simple groups: For example, S_3 has a normal subgroup C_3, which is a finite simple group, and S_3/C_3=C_2, which is also a finite simple group, but C_3xC_2=C_6, which is abelian and therefore not equal to S_3. I believe that the important reason for this is that C_2 is a subgroup of S_3 that is not normal.

I have heard that S_3 is instead merely a semidirect product of C_3 and C_2, but I wonder what the nature of a semidirect product is.

Also, if H is normal in G and G/H is isomorphic to a normal subgroup of G, is it necessarily true that G=HxG/H? Equivalently, if H and K are normal in G and G/H=K, is it necessarily true that G/K=H and that G=HxK?