One major challenge in assessing causal effects in a purely cross-sectional dataset is that if you see a correlation between A and B, that might be due to A causing B, or B causing A. Imagine a study that tries to assess whether using opiates causes depression. In a cross sectional dataset a correlation between using opiates and depression might be due to opiate use causing depression, but it could also be due to depression causing people to use opiates. There really isn't any statistical way to untangle this relationship in a dataset where everything is measured at the same time.
By contrast, in a panel dataset, we could test whether opiate use in time 1 is correlated with depression in time 2. Because there is no such thing as time travel, if we find a correlation between these two variables (and have accounted for other potential confounding variables, more about that below) we can be confident that the correlation could only be due to opiates causing depression - there is no change it could be due to depression causing opiate use.
Another related benefit of panel datasets is that you can use each person's "past self" as their own "control." In a cross sectional dataset you could analyze whether people who use opiates are more likely to also be depressed. But the kinds of people who are likely to use opiates might also have other shared characteristics that make them depressed for other reasons). You could try to account for this by statistically controlling for different factors, but this is always imperfect. In a panel dataset we can avoid this issue by looking at individual people, and see if the ones who use opiates were more depressed in time 2 than they were in time 1.