In my personal experience, Canada in general is a good place for inmigrants. My family and I don't have any complaints at all. This country has been great for me, my wife and my two daughters. I could almost say that any city would be great! just watch out for the renting costs
Now, working and studying has a lot of things to be considered. I came here to work (in computer engineering) and while I was working, I got my commercial license.
I wanted to go to Moncton, but I needed to work to feed my family plus I did have all the money they wanted. I did my training in Saint John and I absolutely loved it. Small school, great instructors, very flexible with the ground school so I could finish my license and kept the job that was giving me the money to feed my family. Now, my objective is to get an instructor license to work part time. I used to teach computer science back home, I love teaching, so teaching and flying sounded like a great combination to me.
But there is another side. To work in Canada you need a work permit or a landed inmigrant status. Sometimes you can work as a student, but I don't think you can sustain a family that way.
To me, it all depends on what you want to do after you get the license. It was clear to me that I was never gonna make ($$$) in aviation what I am making in computer engineering, but that doesn't mean that I couldn't keep chasing my dream.
Training in Canada is better than the US, IMHO. College will teach you more than a small school, but maybe that's not a factor is you are willing to put the hours to do your research and study on your own.
Cost of living in Canada depends a lot on the city. I have an idea about Saint John and Fredericton, but not Moncton. Maybe it is similar since it is part of New Brunswick... not sure.