About half a year ago there was a story about a boss fight in Final Fantasy XI which lasted 18 hours, and ended because some players got physically ill. Obviously not good game design. A boss fight has to end after a reasonable time. In World of Warcraft it used to be that the boss fight ended when either the boss was dead, or when the healers of the raid ran out of mana, at which point the raid wiped. Then Blizzard basically removed mana from the game, by giving everyone enough of it and too fast regeneration. And given that raids now could keep up fighting forever, that would have meant the boss always losing. To prevent that, Blizzard is often using a terrible crutch: The enrage timer. After X minutes the boss suddenly deals ten times more damage and within seconds kills the whole raid. I find that isn't good game design either.
I'm not saying that bosses shouldn't have any ability to prevent the fight from going on forever. Because otherwise you get stories like that of the 2 player killing Loatheb alone on heroic. They just had one warrior tank and one paladin healer, and as the healer never ran out of mana, and had enough healing power to keep the tank alive forever, they just had to whittle down Loatheb's health. Even if that took a very long.
But enrage timers are not a good solution to that problem, because they are too abrupt. Boss is down to under 10% with the whole raid alive and in perfect flow, and a few seconds later the boss is still up and the raid wiped, with nothing anyone could do about it. Well, of course they could have done something about it by dealing more damage per second in the time before the enrage timer struck. But still the end of the fight feels artificial and forced.
I much prefer a solution where the boss gets gradually stronger. So the longer the fight goes on, the harder it gets, and sooner or later the damage from the boss becomes too much to heal. But that should happen gradually, and not at a fixed point in time. Boss fights shouldn' be boxing matches where the boss ends up getting saved by the bell.