The fact that cmd-tabbing to a app will place all of its windows on top means that I might be forced to move a window with the mouse to see what's underneath it which I find infuriating. The fact that two windows belong to the same app is an arbitrary distinction to me. I group things by mental "projects", and I prefer to maintain my window z-order based on that.
I never liked using virtual desktops and I just downloaded altTab which I've read about in threads here, but it seems to flicker weirdly and it has already crached on me once within a 1/2 hour timespan so I don't foresee myself keeping it.