Questrade is good, free, simple. They are good enough, I think. CIBC's Investor's Edge is ok, $7 a trade.
Questrade is free for buying ETFs, at least. You have to be careful that you are buying with the right currency as their markup for foreign exchange is bad, but can be circumvented.