I use the method of choosing which features I need to recycle, versus the features I want to just call all over the place. For a CMS, I use scripts, for battle systems, I use scripts, for story elements, I use events, and for complex recyclable behaviour, I use scripts.
For instance, in my recent project, set in the early 20th century, I have a dark, occult-based plot, and there is a demonic heirloom posessed by the damned (The protagonists... If you can call them that... It's really all a matter of opinion and motivation, if you look at it), a ring, contains the power to corrupt the souls of it's posessor in exchange for unholy power... Essentially, I have something I could use either an event or a script for.
It's a simple battle animation, but a bit more complex. I call a battle animation from a script directly. The use of the power makes a white "pulse" around the user, which fades in the place the ring was used after about 1 second. It's something like a puff of smoke, really, but with the image of the user. It scales to 125% over time, and then fades.
The ring can increase speed, strength, cause objects to explode, fly, or even just take control of an NPC or player. Basically, instead of calling a common event, and making a bunch of pulses while it is in use, I used a script. It was easier, and left room for more common events, as the events are called every tick, while my function sleeps until the next command needs to be executed.
I just found it easier that way.