The withholding tax only applies to US (and probably other foreign jurisdiction) domiciled investments held by Canadian residents in taxable, i.e. non-registered, accounts. Basically what it comes down to is that each of the Canadian and US governments want to collect some tax from income earned on investments in their jurisdictions. For example, let's say a Vanguard ETF traded on the NYSE throws off $1000 in income in 2012. The US would like to tax all of that income at their income tax rates, or more importantly, tax some of it rather than nothing because the owner of that ETF is a foreigner, i.e. a Canadian outside the US income tax system. So Canada and the USA negotiated a tax treaty in which the US gets to keep 15% of the income ($150) earned by the Canadian resident on that investment, and then the Canadian resident when filing his own income tax return in Canada can claim a tax credit for what he paid in the USA ($150) as a tax credit against his own tax owing in Canada. The same thing essentially happens (with some other wrinkles Canadian citizens do not have to know about) in reverse for an American resident owning Canadian domiciled investments.
At the same time, both Canada and the USA have registered accounts for their residents, e.g. IRA in USA and RRSP in Canada, which are designed to defer taxes until such time the investments in the registered accounts are withdrawn. In this specific case, Canada and the USA agreed in their tax treaty not to withhold tax from each other for recognized registered accounts (since that defeats the purpose of tax deferment). So that is why there is no withholding tax on Vanguard investments held by a Canadian resident in an RRSP. The TFSA is different. The USA does not recognize the TFSA as a tax deferred vehicle, so they withhold 15% as they would for a standard taxable account. The dilemma for the Canadian though is because the TFSA is a non-taxable account in Canada for Canadian income tax purposes, there is no way for a Canadian resident to re-claim any withholding taxes from investments held in the TFSA, and thus the warnings upthread on this.
So, to answer your first question, the answer to your first question is No. There are not withholding taxes in Canada for Canadian investments held by Canadian residents.
A word of caution. The 15% withholding rate would be 30% if your broker does not have a signed US form called W8-BEN on file from you. The point being, unless you sign a form indicating you are a Canadian and a Canadian resident, the USA will withhold its standard 30% (non-tax treaty) withholding tax rate.
Added2: There is quite a bit of information on this in our very own finiki