There are many possible causes of income inequality. I would argue that two of them combine to be the most important. Let us look first at three commonly cited causes of income inequality.
First, there is greed on the part of rich people. Liberal economists and activists often point out that CEOs make much more today, when compared to the average person working in their companies, than they did in the 1950s and 1960s. They often attribute this to greed.
Second, there are differences in the quality of education available to different people. Education for the middle and, particularly, upper classes can be quite good. Education for the lower classes is often very poor. This sets lower class children up for a lifetime of lagging income.
Third, there is globalization. It is argued that competition from foreign countries has taken away American jobs. This has created a situation in which many working class people can no longer find jobs that pay well.
I would argue that the second and third of these factors combine to be the main causes of income inequality. The economy has changed due to globalization and there are no longer many well-paying jobs for people without college degrees. Working class kids do not get the education they need to compete in the new economy. Thus, they tend to be left behind economically.