One of the main challenges of causal inference is the presence of confounding factors, which are variables that affect both the treatment and the outcome, and can bias the estimation of the causal effect. For example, if you want to measure the effect of smoking on lung cancer, you need to control for other factors that may influence both smoking and lung cancer, such as age, gender, or genetics. Another challenge is the existence of mediators, which are variables that transmit the effect of the treatment to the outcome, and moderators, which are variables that modify the effect of the treatment depending on their values. For instance, if you want to measure the effect of education on income, you need to consider how education affects skills, which in turn affect income, and how education may have different effects for different groups of people. A third challenge is the possibility of feedback loops, which are situations where the outcome affects the treatment or vice versa, creating a dynamic and non-linear causal system. For example, if you want to measure the effect of social media on mental health, you need to account for how mental health affects social media use and how social media use affects mental health over time.