For me, the main reason I moved to iTerm2 was because terminal only had support for 16 colors (I think ... it was 4-5 years ago). So I just use iTerm now out of habit. I didn't have any other issues with Terminal.app.
I hate on Terminal.app because it's less configurable, has some really questionable key defaults (such as subsuming all of the home/end/insert keys for the window, not the apps in the terminal), lacks the ability to do tmux-esque split panes, and it lacks the ability to change mouse bindings.
It's an OK default, but for real work it drives me batty to keep hitting the limitations it imposes. Sure, I could rebind everything and move to tmux in the terminal itself, but why, when iTerm2 is free and still frequently updated?
The tmux integration offered by iTerm2 is also pretty handy if you spend any amount of time on remote servers.
I use the TotalTerminal addon for the stock terminal for a slide-out-from-the-side terminal that I can leave up and not have get in the way. It's really handy.
I switched to Iterm2 a couple of years back, my main reason back then was that Terminal.app was missing a lot of features which I had gotten used to when using Linux (Terminator it was, I believe).
And I suspect most others have similar reasons.