Bonds don’t out perform stocks over the long term. Buying bonds makes sense for risk averse people seeking fixed income with tax advantages, or speculators planning for a drop in interest rates. There may be a few 20 year periods where the stock market itself was flat, but anyone who had been buying during that whole time would have seen positive returns.