So I end up getting stuck in a recurring situation. My city grows, my tax revenues are barely covering expenses, but my city specialization (oil in this case) brings home the bacon. As the city grows and tax revenue increases, I add services as needed. Bus, streetcars, park & rides, etc. Then around 80-100k population, the traffic gets to be so bad that trade ceases to work and I start losing massive money. By the time I've lost $300-500k, I bite the bullet, kill services, and max out taxes. My population dwindles to under 10k and traffic still chokes the city. Abandoned buildings abound and eventually I have to turn off my specialization until traffic fades.... then I start the cycle all over again.
I think traffic ultimately kills your city. I'd be interested to see how people manage to go larger than 100k population while maintaining a specialization. Maybe their servers are taking a dump still and the traffic/trade problem is a result of that.