What can a statistical model say about causation? What considerations should be made when making a causal inference from
a statistical model?
The first thing to make clear is that you can't make causal inference from a purely statistical model. No statistical model can say anything about causation without causal assumptions. That is, to make causal inference you need a causal model.
Even in something considered as the gold standard, such as Randomized Control Trials (RCTs), you need to make causal assumptions to proceed. Let me make this clear. For example, suppose $Z$ is the randomization procedure, $X$ the treatment of interest and $Y$ the outcome of interest. When assuming a perfect RCT, this is what you are assuming:

In this case $P(Y|do(X)) = P(Y|X)$ so things are working well. However, suppose you have imperfect compliance resulting in a confounded relation between $X$ and $Y$. Then, now, your RCT looks like this:

You can still do an intent to treat analysis. But if you want to estimate the actual effect of $X$ things are not simple anymore. This is an instrumental variable setting, and you might be able to bound or even point identify the effect if you make some parametric assumptions.
This can get even more complicated. You may have measurement error problems, subjects might drop the study or not follow instructions, among other issues. You will need to make assumptions about how those things are related to procede with inference. With "purely" observational data this can be more problematic, because usually researchers will not have a good idea of the data generating process.
Hence, to draw causal inferences from models you need to judge not only its statistical assumptions, but most importantly its causal assumptions. Here are some common threats to causal analysis:
- Incomplete/imprecise data
- Target causal quantity of interest not well defined (What is the causal effect that you want to identify? What is the target population?)
- Confounding (unobserved confounders)
- Selection bias (self-selection, truncated samples)
- Measurement error (that can induce confounding, not only noise)
- Misspecification (e.g., wrong functional form)
- External validity problems (wrong inference to target population)
Sometimes the claim of absence of these problems (or the claim to have addressed these problems) can be backed up by the design of the study itself. That's why experimental data is usually more credible. Sometimes, however, people will assume away these problems either with theory or for convenience. If the theory is soft (like in the social sciences) it will be harder to take the conclusions at face value.
Anytime you think there's an assumption that can't be backed up, you should assess how sensitive the conclusions are to plausible violations of those assumptions --- this is usually called sensitivity analysis.