It was a tough decision, for sure. I ultimately decided to attend UBC because I had my roots there (I was working there at the time of applying) and because UBC professors are very well connected with the local health authorities - many hold clinical appointments at local hospitals and health organizations. That's not to say that SFU faulty aren't well connected, but my impression is that the strengths in SFU's program is that it's focused on social determinants/community-based health (depending on the stream you applied for), while UBC's program is focused on more of the quantitative aspects of public health (biostats, epidemiology)... and if you take a look at the required coursework in each respective program, they definitely reflect this! Also, the UBC Vancouver campus environment is unparalleled - it's beautiful and I live relatively close by, whereas for the SFU campus, I would have had to commute upwards of an hour to get to school, and I wasn't willing to move.
I think both programs are really, really good. As a school, UBC is more prestigious (not that this really matters when finding a job in public health), though I've heard repeatedly that SFU's program is among the best in Canada. It has a really good reputation. It goes without saying, but I think which program is better just hinges on your interests in public health - if you're aiming to become an epidemiologist or researcher then UBC is probably a better bet in terms of the opportunities and connections you'd make, but if you want to work with hands on with community organizations on social justice issues then SFU seems, to me, to offer better value in that respect. Hope this helps!