Learning Structural Causal Models through Deep Generative Models: Methods, Guarantees, and Challenges