I don't think that Buffett is saying that stocks, at any given point in time, will deliver you better returns over a given time period than gold or bonds. He quite clearly notes that there are times when bonds are beaten up and they'll offer a great return. Buffett, being a virtuoso, variously reaps returns from derivative contracts, insuring sweepstakes prizes, and solar farms. He once bought a boatload of silver and tried to corner the market. He won't argue with you that with all of these there's a right time.

That's because all of these asset classes are subject to 'animal spirits.' Stocks went through the tech bubble. At various times bond yields have been too low when judged against the real risk that you do not get your principal back in full. Bond yields are pretty darn low right now. Gold may seem invincible now and it may seem that the world is only going to continue falling apart and Helicopter Ben is only going to keep running the presses, but don't you remember a time when stocks did nothing but go up? Or when people thought that house prices would never go backward?

All of these asset classes are also subject to the 'invisible tax' of inflation. As the money supply increases, all currency is devalued and everything that's denominated purely in currency loses value as well.

To preserve and grow wealth, you must first beat inflation. Stack the assets up against each other on these merits and I think that's where his logic lies. Let's remove 'animal spirits' for now. Look at these asset classes dispassionately for what they represent. Ignore prices, what they've done in the past, where they are now.

Bonds are contracts for loaning currency. You as the lender demand repayment of your principal and interest payments concordant with the risks you take that the money does not come back to you. Most bonds as structured do not protect you from inflation unless your nominal payout is explicitly pegged in the contract (as with TIPS). You pay today's currency for a fixed amount of tomorrow's currency and if that currency is worth less (as it probably will be) you're out of luck.

Gold is a real good. It's a particularly nice real good in that it's malleable and somewhat plentiful but both difficult to destroy and difficult to make more of. Oh and it's shiny. Everybody agrees that gold is an excellent real good in that way. Those factors, particularly that it's difficult to make more of, protect you from inflation. The real value should stay the same so the price of gold increases as inflation brings currency down around it. Gold beats inflation for sure (except maybe for the bit of mining and new discoveries that get done).

Stocks represent ownership in companies. A company is a group of people operating capital assembled to provide a good or service to others in exchange for value commensurate to the good or service tendered. A good company can protect you when inflation attacks by raising the prices of its goods or services so that it receives the same value as it did before. The well-known example is a candy bar that costs a dollar today cost a nickel in the 1950s. A great company can grow over time, providing more goods and services to the world for more value. Ownership in a good company is an opportunity to both protect against and even beat inflation. That is the key and that is why over time it is a better idea to own stocks than gold. Here's something of a common-sense test: name a family fortune and you'll usually find a company behind it. Now name me a gold-hoarder in the Forbes 400.

Warren glosses over the bad here, that you could buy a stock representing ownership in a poorly managed or even fraudulent company. You could buy a chunk of fool's gold, but you wouldn't be a fool for long. People held onto Enron stock for ten years after Fastow started his shenanigans.

Certainly the bad or fraudulent companies detract from stock performance in the aggregate. But a major index does a pretty good job of protecting you against this precisely because of survivorship bias. A company does not become one of the top 500 largest in the US by being poorly run or providing no value to its customers. A few frauds make it but there's so much scrutiny at the top, they don't (or shouldn't) last long. The S&P 500 is a pretty good proxy for the creme de la creme of businesses and that's why it's such a successful measure. Owning it also offers you the opportunity to grow your wealth with the expanding real value of the economy, beyond the level of inflation.

Now if we turn back on the animal spirits, timing matters. Buffet knows this. He's one of the best market-timers out there. Buffett would not have written this article in 1999 even if the precepts were all the same because he knew that it was a bad time to buy stocks and he would get blamed for the people that misunderstood his advice. He wouldn't write this article in 2008 either because he knew then that bonds were actually a great deal (as he points out). He's publishing this article now (even though it's somewhat of a timeless truth) because he thinks stocks are pretty cheap and the alternatives are terrible.