Obviously those with enough money would max out on both, since they each have their strengths. For everyone else, the question of which is the better choice? Common wisdom has been that those in a higher income bracket should lean towards the RRSP, while the lower income bracket should go for the TFSA. The former require the RRSP contribution to reduce the amount of income tax they need to pay. The latter don't pay much income tax anyways and want to keep their income low in the years when they withdraw from their savings vehicle, in order not to trigger government pension clawbacks. (e.g. Old age security)
I've always used a more generic rule of thumb, that could apply to any income bracket:
- Contribute to the RRSP up to the point where you don't have to pay tax anymore. You can use various online tax calculators, as listed in my book Retired at 48, to estimate how much this would be.
- With any spare money, contribute to the TFSA until you max out. The sooner you start contributing to a TFSA, the more that money can experience compound growth tax-free.
- If there is still spare money, then increase the RRSP contribution so that you actually get a refund back.