So, the first thing to say is that you almost never want to use a regular sim card from outside of North America while you're over there. The data roaming charges your home provider charges tend to be extreme (Vodafone UK currently charges something like £30/mb in the US, and Tor-Einar's German provider in the comments charges almost $40/mb). For Europeans, this has actually got a bit worse recently - the recent changes to how much the networks are allowed to charge for roaming within the EU has led to many of them pushing up their ex-EU charges.
If your friend isn't going to be over for very long, or isn't going to be using very much data, then their best bet is a roaming SIM. You'll normally have to pay either a moderate fee to get the roaming SIM, or a small monthly fee (different providers have different models), then when abroad you'll have fairly cheap calls, texts and data. Generally it doesn't matter where in the world you go, your calls/text/data will be a little bit more expensive than your home package charges at home, which is a tiny bit more than a local SIM card would charge you, but an order of magnitude cheaper than your regular phone roaming. The advantage of a roaming SIM is you get it once, put some credit onto it, then use it no matter where in the world you happen to be that week. No need to go buy a new sim, load credit onto that, loose credit when you leave etc. Just pop the roaming SIM into your phone and you're good to go!
(I use TruPhone, who are OK but not amazing, many other alternatives exist. TruPhone in the states charges 10p/minute for call, 10p per text and 20p/mb. They're much less good in Canada, at 36p/minute for calls, 30p per text, and whopping £3/mb. Even with those higher prices, they're still an order of magnitude cheaper than Vodafone UK's roaming costs!)
If you're going to be in a country for getting on for a month, or you're planning to make a lot of calls / data charges, then the slight premium you pay on a roaming SIM adds up. In that case, you'll want to buy a local Pay-As-You-Go / Pre-Pay (names vary between countries) SIM, chuck some credit on it, and use that. If you're going to do a lot of data, it's normally worth getting a pre-pay data bundle (where you buy the data up-front), as that's almost always cheaper than paying one MB at a time.
You might think that you could buy a PAYG sim in either Canada or the US, and use it in the other. While technically it will work, the costs for roaming into the other country will be almost as bad as the roaming costs on your home phone, so you won't want to do it! You may find my question on US PAYG sims in Canada from last year helpful