So I travel between USA and Europe fairly often and that contract thing, in USA if I get a month-by-month pre-pay or post-pay with no handset and I buy the unlocked handset separately, works out about half the cost of getting a 2 year contract and a subsidized phone.
A worked example:
So in USA I got 4 lines for the family, total incl tax, monthly $135, each line 10GB with carry-over of unused data. That gives everyone more than enough, I use about 2GB/month, the others vary between 1GB and 6GB. We circulate unlocked phones around the family, e.g. an unlocked straight from Google Nexus 4 from 2013 went to a family member til it broke at 3 years old, then they got a OnePlusX for $249. My 2014 Nexus 5 went to another family member, I replaced its battery ($13 I think off ebay) and it then eventually died at 4 years old and they got a new $99 Moto G4 Play with a $19 64GB microSD card. One of my family members seems clumsy and smashes a phone every 6 months so they they tend to be given an older used phone and I get myself a new phone. I have nil clumsiness so I tend to get the new phones. The net affect is a cost of about $300/year on phone keeps 4 people in phones, a mix of new every year or two and cascade down amongst the family. Combined that works out at $40 per person per month to have a working phone.
Every calculation I do with contract works out substantially higher, I see figures of $70-$100 for equivalent data GB.
Month-by-month, if there is an offer, then you take it, no payments to exit, no unlock fees, so you can move between carriers at will. We flipped from a deal from ATT to a deal with T-Mobile about a year ago.
The same calculation in UK, Giffgaff, if we move the family for a couple of months to the UK, we tend to go for 10ukp Goodybag is enough most and so the monthly cost drops a little from USA costs.
I have heard that Canadian market seems to be one of the worst in the world, so I accept in some countries it makes sense to use contract.