Difference between shares and bonds:
- By owning bonds, you just hold some generic instrument that is supposed to yield a particular amount but you never know that in case of junk bonds. Quality bonds yield little, so the only way to make real money with bonds is by purchasing junk bonds (I won't recommend that, though)
- By owning shares, you own part of the company and its future income.
For example, if I think the clean energy sector is a very important sector due to climate change concerns, by buying clean energy bonds I'll most likely get its nominal yield. By owning clean energy shares, there's a potential for massive profit.
If I think climate change concerns benefit forest, by buying forestry company bonds I'll most likely get its nominal yield. By buying forest and forestry company shares, there's a potential for massive profit.
Add that difference to the historical observed result that stocks yield more than bonds, the choice should be clear.
Not-so-rich people may have a lot of government bonds or cash in their portfolios because relatively speaking the need for an emergency fund that should consist mostly of very liquid instruments is larger.
Actually, in the long run, risk with stocks may be smaller than with bonds. Stocks can drop 80% and are expected to yield 8%. Bonds can drop perhaps 10% and are expected to yield 4%. In 43 years, you are 99% certain to have a larger amount of money with stocks than with bonds. Oh, and currently bonds don't yield 4%, they yield about 0% (at least in Europe). Stocks don't yield 8%, they yield perhaps about 7%.