  Understanding the laws that govern a phenomenon is the core of scientific
progress. This is especially true when the goal is to model the interplay
between different aspects in a causal fashion. Indeed, causal inference itself
is specifically designed to quantify the underlying relationships that connect
a cause to its effect. Causal discovery is a branch of the broader field of
causality in which causal graphs is recovered from data (whenever possible),
enabling the identification and estimation of causal effects. In this paper, we
explore recent advancements in a unified manner, provide a consistent overview
of existing algorithms developed under different settings, report useful tools
and data, present real-world applications to understand why and how these
methods can be fruitfully exploited.
