I was generally happy with E*TRADE until I experienced platform slowdowns during high-volatility market events. Twice I couldn't execute trades when I needed to most. They offered no compensation. For calm market conditions it's fine, but I can't trust it when it matters most.
Pros: Good in normal conditions, nice interface
Cons: Platform unreliable during market volatility