This thesis presents three essays that address policy-relevant issues in the field of labour economics and migration. While the essays are independent from each other, they offer policy conclusions based on empirical evidence and quasi-experimental designs. Through the lens of quantitive analysis, I investigate how these policies interacted with and affected their own complex environments. In the first chapter, I study how firing costs affect which firms create new jobs and which workers get hired. To identify a causal effect, I exploit two Italian reforms that decreased firing costs for firms above 15 employees, while leaving smaller firms unaffected. Using extensive linked employer-employee data covering the careers of 2.8 million workers, I show that new jobs that were created because of the reform are concentrated in low wage firms. Specifically, post-reform hires are made by firms that pay wages on average 3-7\% lower than firms hiring before the reforms were passed. On the contrary, I find only mild evidence that less productive workers get hired more easily following the reforms. Finally, the findings suggest that riskier matches become more common, as firms hire more employees they have never worked with before. These results are consistent with the idea that low-productivity firms are more burdened by firing costs, as they suffer from higher risk of firing workers. In addition, when firing costs are lower, both firms and workers can become less selective when forming a new match. The observed decrease in hiring job quality implies that new jobs are associated with a moderate decrease in entry-wage levels. In the second chapter -- co-authored with Benjamin Elsner -- we investigate the commonly expressed concern that immigration undermines social cohesion in receiving countries. We study the impact of immigration on several indicators of social cohesion based on a large and sudden immigration wave, namely the inflow of one million refugees and asylum seekers from Syria, Afghanistan and the Western Balkans to Germany in 2015. In a difference-in-differences design, we compare the attitudes of individuals in areas with large vs. small increases in refugee numbers before and after the inflow. We find that the inflow led to an increase in anti-immigrant sentiment but had no effect on broader indicators of social cohesion, such as general trust or perceived fairness. Moreover, based on data scraped from newspapers, we show that areas with larger increases in refugee numbers experienced a significant increase in anti-immigrant violence, which lasted for about two years. This effect is larger in areas with higher unemployment and greater support for right-wing parties. Finally, in the third chapter of this thesis, Diego Zambiasi and I address the consequences of international agreements aimed at restricting migration. Following migration flows of unprecedented dimensions since 2010, an increasing number of destination countries engaged in migration deals. These international agreements require transit countries to stop migrants in exchange for financial and logistical support by destination countries. We show that such an agreement between Italy and Libya affected the safety of migration routes as well as the decisions of migrants and human smugglers. This agreement outsourced search and rescue operations in the Mediterranean to the Libyan coast guard with the declared objective to prevent migrants from departing from Libya. Using a spatial difference-in-differences design, we show that externalizing border control and search and rescue operations to the Libyan coast guard made the Central Mediterranean Route deadlier. Furthermore, we provide suggestive evidence that migrants and human smugglers reacted to this policy by choosing to migrate through the Western Mediterranean route instead.