One reason is the inflationary gain problem. Let me give an example with simple numbers. I make \$100 in income and pay 20% tax of \$20. I have \$80 left, which I invest in a stock. The stock goes up in value at the same rate as inflation, about 3.5% a year. After 20 years, it's worth about \$160, but \$160 has the same value now as \$80 did when I earned it. So in effect, I have made no gain. If I have to pay a 20% tax on the \$80 nominal gain, then I actually have \$8 less spending power than when I made the investment. Just in order to keep pace, I would have needed returns of 125% inflation.
Another reason is to encourage investment. A lower tax on capital should encourage savings, and the US is generally low on savings.
There is also a historical argument that if the income tax rate is 90% (which was the top rate starting in World War 2 and ending in the Kennedy administration), then it is impractical to tax investments at the same rate. From 1921 to 1986, there was a lower rate on long term capital gains than on other income. In 1991, capital gains tax was capped at 28%. In 1997, long term rates were reduced again.
The current system is designed to encourage long term capital investments by decreasing the rate the longer something is held. This does very little to help with nominal gains but does provide an incentive for long term savings. It's unclear if it actually increases saving. It certainly doesn't increase net savings, as the US tends to be fully leveraged, borrowing as much as is saved.
There have been proposals that focused more on the nominal gains issue. For example, in the late 80s, early 90s there was a proposal to switch investments to working like traditional IRAs: deductible at the time of investment but taxed the same as any other income at the time of sale or withdrawal. Since this delayed the original tax to be paid at the same time as the capital gains, there is no separate tax on the nominal gain.