I currently don't invest in stocks, but here's an interesting wrinkle for the TFSA:
"If you have losses on stocks, you can deduct those losses against previous capital gains if you hold them outside a registered plan, but not if they are in a tax-free savings account."
[Source: CBC article]
In other words, if the market does well, you aren't taxed on your earnings within the TFSA. If the market tanks, you're in more trouble...
Almost all investments have risks (even with cash: after taxes and inflation you lose purchasing power almost every year with interest rates below ~3-4%). Stock and mutual fund risk is just more obvious in the short term, while the benefits accrue over time.
The tax treatment within a TFSA is the same as that within a RRSP, and per the above most people should have stocks (either directly or within mutual funds) within their investment portfolio so that then can keep ahead of inflation in the long term.
You need to balance the overall risks of the different investments (i.e. cash,GICs, gov't and corporate bonds, stocks, mutual funds,etc), with an overall plan for asset allocation within your own risk tolerance. Once this overall plan is in hand, then the different investments can be optimized into different accounts (regular, RRSP, TFSA) based on the specific tax advantages/disadvantages of each.
You generally have to pay tax on all capital gains held outside registered accounts. To balance this out, the CRA lets you deduct capital losses from any capital gains held outside registered accounts.
With a TFSA, you pay NO tax on capital gains. So, it makes sense that you can't deduct capital losses realized inside a TFSA. If you could, the TFSA would be the most popular savings vehicle in Canada, hands-down.