If you want to marry in a country other than your own, you will be required to prove that you are not already married. This usually involves getting papers from your own consulate in addition to those needed for a visa. The US does not have an equivalent document, and if you want to be married in Canada, your prospective spouse will have to swear an
http://travel.state.gov/law/info/mar...age_640.htmlat a US consulate.
I don't know if it would apply to Canadians, because there are some separate treaties involved, but in general, getting a fiance visa and then marrying in the United States is faster than getting married abroad and then bringing a spouse in.
You do need to contact repsective consulates in each country to see precisely what the rules would be. I do know that after marriage abroad, it can take up to two years to bring a spouse in as a permanent resident. Again, there may be an exception for Canadians, but I couldn't find anything in a quick look at the state department website.