Why Domain Generalization Fail? A View of Necessity and Sufficiency