Up until mid 19th century (about the time of Karl Marx) inequality of wealth came about as result of monopolisation of land and other resources. In communist terminology concentration of means of production is the cause of inequality. Communists believed violent redistribution of wealth is the only solution to this problem. Nevertheless, history shows that democracy and economic freedom eventually reduced inequality to a large extent by giving the poor the opportunity to have control on their political and economic lives.
The income inequality reduced to a large extent by the middle of 20th century. Not only because democracy and economic freedom, but also because of progressive movement involving busting of monopolies. Over the last 3–4 decades though wealth inequality has gone up, especially in the developed world. It can be argued that a perfectly free market should bring down income inequality as everyone gets equal opportunity. But there are three main issues that are increasing the inequality and, more importantly, making poverty persist. According to me the three main causes are: corporatism of governments, central bank activism (monetarism), and the lack of a safety net for the poor. The first two are government failures and the last one is a market failure that needs to be addressed by the government.
Corporatism in the government comes in many forms but mainly it comes through anti-free market activities like: 1. bailing out of some companies with whatever pretext. 2. creating trade barriers and subsidies either in the name of promoting industry or creating employment. Any governmental intervention in free markets will have negative impact on efficiency. Especially, if the intervention is done to support a company in stead of an individual, the impact of inequality is much more. As a result of biased actions by the government, the share holders and the management of big corporate entities got wealthier at the cost of consumers and smaller competitors.
Along with the free market movement of the 80s arose central activism or monetarism, where the central bank was given more role in managing the economy, especially in the US. This led to central banks to move interest rates as per their understanding of what is best for controlling inflation and promoting economic activity. But like with any intervention in the economy, the intervention helps them most those who are closest to the intervening activity. As a result, central bank interventions led to increase in the wealth of people who own assets (think real estate, bonds/shares, and investments in private companies) at the cost of salaried employees and smaller entrepreneurs. Thus exacerbating wealth inequality.
Lastly, free markets may not provide immediate relief to people in distress. Governments have been working around the world to reduce income inequality by taxing the rich and providing the poor with some services for free, like food, housing, and healthcare. This is supposed to provide the safety net. But there is a more direct way of providing the safety net than through running food and healthcare programs — providing everyone with a minimum income to cover their basic needs. This eliminates the need for the government to be interfering actively at the same time it provides the safety net absolutely required for a prosperous society.
The direct way for bringing about universal prosperity seems to be:
Free markets sans corporatism and monetarism + Universal basic income (UBI)