Obviously US in heartbeat. US has much bigger job market, amazing pay scales, much stronger economy, and plenty of options for weather (east coast if someone loves snow, west coast has pleasant weather, center has tropical weather etc). Cost of living is so low compared to what one earns.. like one gallon of milk for $2 or so. Healthcare is not free, but employer insurance plans are generally very good, and someone high skilled is likely to be with big employer who have even better plans.
The only drawback is immigration system that discriminates based on one's country of birth. They issue only 140k employment based green cards per year (number set in 2000), and people from one country cannot receive more than 7% from that. So this has resulted in huge wait for Indians and Chinese.. for Indians wait is expected to be several decades till which one has to keep extending their temp visas and be employed all the time to have legal status.
Plenty of Canadians themselves are employed in US through TN visa or some other means which speaks volumes on which side of NA is better.
I have heard of many border crossing to purchase cheaper groceries too.!