That is like asking if a dog is better than a cat! The usual reason for undertaking a cross-sectional study is to measure the prevalence of a risk factor or outcome. The usual reason for undertaking a longitudinal study is for testing an intervention. just choose the right tool for the job.
Generally, cross-sectional designs focus (and are limited to) between-subjects effects. Longitudinal designs add the capability to distinguish between within-subject (i.e., change over time) and between-subjects effects.
If the study involves causal inference, cross sectional studies are appropriate only for chronic diseases where consequences of the disease (eg death, removal from workforce) do not affect its inclusion in the sample of prevalent cases and where the effect of exposure is not time dependent.
For causal inference, longitudinal studies or case referent studies are usually preferred.