A few years back, Jeremy Siegel of the Wharton wrote a book called "stocks for the long run". The basic premise of the book was that over long periods - stocks beat bonds. He showed that for pretty much any 30 year period in history this was true.
Unfortunately, many people misunderstood the basic idea. They assumed that stocks HAD to beat bonds over 30 year periods. This is absolutely not the case, all Siegel is saying is that they have, historically done so.
Incidentally, I highly recommend his book.
Which brings me to an excellent post on the Fama French Forum in which someone asks whether bonds will continue to beat stocks....read here.
FF's answer is really insightful. The key point here is to understand the difference between an expected risk premium and a realized risk premium.
As an analogy, confusing a realized risk premium and an expected risk premium is like thinking that it is a good time to buy beach property after a 100 year hurricane (as long as you sell within 100 years)!