You are right that over the longer term, the stock markets offer the best returns even on a risk adjusted basis. However, in the short term the stock markets can be extremely volatile. Hence higher returns may not be true over the short term. Over a period of 1, 2 or even 3 years the stock markets may occasionally lag other assets like bonds and gold. But if you take a 10-15 year perspective, you will see that stock markets give above average returns. Take the case of the Nifty. It has given an annual compounded return of 16-18% annually over the last 20 years. No other asset has given that kind of returns or created that kind of wealth. That is because equities take time to generate returns and over a longer period of time the cycles tend to get evened out and the good periods tend to outperform and outweigh the bad periods. Hence the period of holding is very critical when it comes to the stock markets.