The carrier to pick will depend a lot on where you live and what your habits are. I am in Ottawa, live in the city core and tend not to go out to the rural parts of the city. When I travel within Canada, it tends to be to other large urban centers. I also visit Montreal relatively infrequently (since some carriers do not deal with Quebec, and you have to using roaming there). So for me I have found Wind Mobile to be excellent. I pay $30/month for unlimited voice/text/data... which I am a very heavy user of.
My recommendation is if you're in the main part of the city and don't tend to travel a lot and are a medium to heavy user, go for one of the independents such as Wind or Mobilicity. They have a decent selection of phones that will work on their network (forget if the iphone 4s will or not...). Otherwise consider a discount brand such as Koodoo or Virgin (both of these are just sub-sections of their larger parents Telus and Bell respectively). The larger carriers are good when you do find you travel a lot and would be subject to a lot of roaming charges... I just don't use my phone a lot when outside my home zones.