I like the fact that they have a beginning, middle and end, and they seem by their very nature to punish stupid play more, or sooner, than cash games (once the donk is gone, he's gone for good)
That very thing is what makes cash games more lucrative, i.e. you
want to keep the donks in a cash game, because long term you will profit from their bad play. You might even go so far as to say you want them to suck out on you now and again, just to
keep them in the game. If they never win, they'll go broke and leave. When they suck out once in awhile, it often inflates their ego and greed and keeps them around -- you just reload and keep pushing. When the last donk gets up from my cash table, I get up too. It's not nearly as much fun playing a table full of rocks where you rarely see a big pot, and when you do, you should usually get out of the way. That said, a full table of donks is seldom fun or profitable. But keeping 2-3 in a full ring game is perfect!
Getting donks out of a tournament early can also have a negative effect since it leaves you heavy with good players towards the end. You'd rather play against a table full of strong players? And the end is where you can play back at the surviving donks since your range opens up to approach theirs. In fact you'll sometimes (often?) see bad players who managed to donk themselves deep into a tourney, actually tighten up towards the end and play scared, so you have a great opportunity to exploit them by stealing their blinds and antes, and raising them off their limp bets. It never ceases to amaze me when HBL's limp for 10-20% or more of their stack late in a tourney and then still fold to the first raise. And I see HBL's pretty often at the lower stakes tourneys/SnG's. That's a HUGE leak that's easy to exploit, and it won't exist in a table full of solid players.
Is there some reason one must play cash games to make a decent profit at online poker, all else being equal?
It's a different game that suits different styles, so it really depends on the player -- but overall better players will be more profitable long-term from cash games. Tournaments have much higher variance, so the swings are larger and luck (or lack thereof) plays a bigger factor.
Personally, I like both ring and tourney/SnG play. At any given time I tend to play one form exclusively, then when my swing turns south for awhile, I'll jump to the other. After my 50NL downswing of 8-9 buy-ins a couple months ago, I jumped back to tourney's and SnG's after about a year away from them. I immediately hit a hot streak, taking down over $8K in the first month thanks to a major MTT win and several SnG cashes very close together. Now variance is creeping in and I'm going longer between cashes, so I've started mixing a little 50NL back in, and have been doing well there again.
Doing so seems to stimulate me, getting me out of the "rut" where I tend to lose focus get careless, and help neutralize the inevitable variance. It forces me to change playing styles and focus once again. Plus, being able to change up your play based on conditions is a valuable skill to have no matter which form of poker you play, so it's good practice for me.