If you're a US citizen/resident - you pay taxes on your worldwide income regardless of where you live. The logic is that Americans generally don't agree to the view that there's more than one country in the world.
If you're non-US person, not physically present in the US, and provide contract work for a US employer - you generally don't pay taxes in the US. The logic is that the US doesn't actually have any jurisdiction over that money, you didn't earn it in the US. That said, your employer might withheld tax and remit it to the IRS, and you'll have to chase them for refund.
If you receive income from the US rental property or dividends from a US company - you pay income tax to the US on that income, and then bargain with your home tax authority on refunds of the difference between what you paid in the US and what you should have paid at home. You can also file non-resident tax return in the US to claim what you have paid in excess. The logic is that the money sourced in the US should be taxed in the US. You earned that money in the US.
There are additional rules to more specific situation, and there are also bilateral treaties between countries (including a US-Canadian treaty) that supersede national laws.
Bottom line, not only that each country has its own laws, there are also different laws for different situations, and if some of the international treaties apply to you - it further complicates the situation. If something is not clear - get a professional advice form a tax accountant licensed in the relevant jurisdictions (in your case - any of the US states, and the Canadian province where you live).