There's dozens of self-buffs in wow ranging from things like fel armor to seals that can contribute to stats, damage or have other beneficial effects on your character.
All these self-buffs have one thing in common: They're timed.
Whether they're on 2 minute, 10 minute, 30 minute or an hour timers seems to be more or less arbitrarily chosen and adjusted according to what seems the level of complaints on the forums and in-game over the years.
And it seems that most self-buffs like fel armor, divine spirit, arcane intellect and so on and so forth have a long enough duration that you would maybe have to refresh them once during an instance run.
With instance runs being significantly shorter, boss-fights being shorter in general it seems that the longer running self-buffs are almost to the point where you don't have to refresh them at all during a run.
If there's no mechanical need to refresh the self-buffs during a run and the trend for self-buff durations has always been to become longer rather than shorter to avoid forcing players to continually refresh buffs the question quickly becomes: Why are they timed at all then?
Players and blizzard developers generally agree that buffing shouldn't become a task in itself and anyone can deduct that all those timers are eating CPU cycles either on the server or on the client machines (depending on how that is coded). So why not take all these myriad of timers and scrap them in favor of much simpler toggle abilities?
Imagine this: You log in, you cast your buffs on yourself and instead of them dropping off after 30 or so minutes they actually stay on much like a paladin aura would, resetting only after being logged off for a short period or in case of death.
By using a toggle-ability approach for self-buffs (and really only buffs that you cast on yourself) you cut out the micro-management that is currently plagueing a lot of buff-heavy classes like paladins.
This would alleviate a lot of load on your standard spell rotation in general. While some classes like warlocks rarely have this problem I find myself having to squeeze in casting a new seal every 2 minutes, a blessing of sanctuary every now and then and other buffs every so often into my standard attack rotation on my paladin.
And there's really no need for this nor does there seem to be a specific reason why players should have to refresh self-buffs on such a regular basis. What is the difference between a self buff that lasts 30 minutes and one that lasts indefinitely (until death or logoff)?
Why do you have to refresh your seal every 2 minutes on your paladin? or your arcane intellect every 30 minutes etc. ?
What is the added value of this system?
Of course a toggle system wouldn't work on things you cast on other people and things like like the spell-stealing mechanic would have to be modified slightly so that a stolen 'toggle-buff' would indeed turn into a timed one. But those are minor obstacles from a programming perspective.
Self-buffs that cost 'resources' to get should of course retain their individual timers (I am thinking buff-foods, scrolls, flasks etc.) because they serve a function even if that may only be an economic one. Anything that merely costs 'mana' and is cast on yourself has no real reason to be timed.
I say save some trees and rework the self-buff system to a toggle-based system much like paladin/dk auras/presences work now, it'll simplify the management of self-buffs (thus leading to a more pleasant gaming experience) and most likely will save a good amount of cpu cycles dedicated to keeping track of all those timers (thus indirectly saving trees... ok it was far fetched).
In the end my thought is that a game should be easy to control and difficult to master rather than be riddled with complex spell and attack rotations in an environment that presents no significant challenge.