A crucial aspect of maximizing the net return from your investments is to minimize your taxes. Taxes matter enormously, not just because the US tax system is structured with different tax rates depending on whether your gain is long-term or short-term, but also because of compounding. You want to hold stocks for long periods of time because that way you’ll avoid short-term capital gains taxes. If you also delay realizing long-term capital gains, you get to leave the money that you’ll eventually owe in taxes invested in stocks. If you make a profit on that money, you’ll keep most of the profit. It's therefore critical to your compounded, long-term after-tax performance to delay incurring capital gains tax liabilities. And that means you should aim to hold stocks for very long periods of time.
But the desirability of delaying the realization of capital gains further stacks the odds against buying individual stocks. When you build a portfolio of stocks (in a taxable account), you’re looking to buy and hold your positions for as long as you can, to minimize your tax bill. That makes picking individual stocks much harder. After all, how many companies do you really think will be as strong in 20 years as they are today?
Incidentally, this is exactly the way Warren Buffett invests: he tries to buy stock in companies with defensible and growing businesses and to hold the stock for long periods. Yet even Warren Buffett has found that some companies that seemed to have impregnable franchises (such as McDonalds) have faltered.
The S&P 500 index illustrates how hard it is to find stocks to hold for very long periods of time. The index tracks “leading companies in leading industries” - exactly the kind of stocks you’d want to invest in. But of the 500 stocks in the index today, only about 80 have survived from forty years ago.