This question already has an answer here:
ETFs trade just like stocks, so I wonder how come questrade lets customers trade ETFs for free whereas they charge commission on stock trading? Any guesses? Furthermore, only buying is free but selling is not, which is all the more confusing.
Do they mark up the spread? Or are ETFs so liquid that the broker can afford not to charge a fee. I can ask the broker of course, but usually they say 'customer loyalty, customer appreciation etc.' and things like that.