Like everyone else in this thread, this sentence sent chills down my spine:
Unless kwin becomes completely bug free, and enabling/disabling compositing doesn't affect performance, with every single driver and app out there, IT WILL be necessary to enable/disable desktop effects manually....as manually changing states will no longer be needed...
Several reasons:
1. You might not have a good GPU.
2. You might not WANT a good GPU, if you use the computer just for work.
3. You might have a good GPU, but really "don't give a fuck" if you can see a shadow, a transparency or FX. Maybe you want it to be as fast as it can be, and you don't want compositor to take resources.
Why should anybody want compositing?
Better, why you suppose everybody should want compositing?
As far as I know, free software is about freedom, and choice is part of the concept of freedom.
On the other hand, it should be possible to prevent applications from disabling compositing, if you have a graphics driver that is either (a) buggy in non-composited mode, or (b) runs as fast or faster in composited than without.
For example, previous Catalyst releases, at least for me, had terrible, unusable rendering artifacts in the old 2d mode, but as soon as I turned on compositing, everything went beautifully. This persisted for a number of months. Nowadays, the performance of apps while composited or not is still more or less equal, and the 2D bugs are gone, but enabling/disabling compositing takes up time that I don't want the system to spend.
Plus, the transition between compositing and not, in and of itself, has been a major source of potential bugs in the past: anywhere from incorrect rendering, to disappearing window borders, to incorrect window size, to kernel panics. I've witnessed the latter with both open and closed source drivers of 2010 vintage. And it's only 4 months into 2011, so what are the chances that all of those bugs are gone? I'd much rather have the system boot into one mode or the other and just freaking stick with it -- especially if I'm using a driver where the performance isn't killed by compositing, such as Catalyst.
I also notice that r600g is doing quite well in terms of being minimally affected by compositing. The intel drivers, nvidia binary driver and nouveau seem to be getting hit the worst by performance impact of compositing -- everybody else notices a minor or negligible impact.
Conclusion? Don't try to be "smart" and force any particular behavior on the user. Or if you do try to be smart by default, provide a user-visible GUI element for overriding your (quite possibly incorrect) "smart" behavior. It makes sense to be smart when you are completely certain that your automated decision is the correct one, but with something as driver-dependent as "the performance impact of compositing", and something as personal as "the degree to which this user cares about having compositing enabled", you simply cannot consider all the requisite factors in software in order to make a decision that is always the right one. So the best choice is to not make a decision at all, and leave it up to the user.