I'm in Canada a lot, but I'm here (Bellingham) more, so I'm torn.
Right now I'm trying to decide between sticking with AT&T's Nationwide plus Canada and a global data add-on ($110/month) and Verizon's cheapest Sharing is Caring option plus a prepaid Virgin Mobile Canada plan (once VZW will unlock my SIM slot -- $105/month total).
With AT&T I only have one phone number and get free long distance calling to and from Canada (which I do a lot). But the closest LTE market is out of state, and I would need to use my old phone for overseas use with a local SIM.
With Verizon I get LTE in my hometown and much of the rest of the world, and I can use local SIMs when I travel, but I would need to use Skype or FaceTime to call people across the US/Canada border, and probably wouldn't get missed call or voicemail notifications until I crossed into each carrier's coverage area.
The AT&T option appeals to my practical side and the VZW option appeals to my hacker side. Anyway I'm traveling till October so I have a couple of weeks to decide.
If you're going to Canada a lot, your best option would be the AT&T iPhone as the Verizon iPhone won't support Canadian LTE bands.