In short (and a bit evil, for which I apologize), I much rather just write a self:RegisterEvent("foo") and concentrate on the event handler instead of finding out how events work, writing my own event manager and then go to the event handler which I need to do in any case. And that's just a simlpe case, I don't really want to localize spell names in all languages, I couldn't even do it outside german and english. Yet all I need to do now is to get Babble-Spell for example and I have a maintained, working and proven solution. I just don't need to invest time there. Divide and conquer, really. Concentrate on what you want to do new stuff, don't reinvent X for the umpteenth time. It's there, it works already, it's in use other places. If there is a bug, other people will very likely find it before you even know there is one and it will most likely be fixed before you ever get bitten by it.
Consider that even with Ace, you really can't do anything without understanding the API. Consider that the API has no official documentation, and you have to pick things up on your own from Blizzard's code in the default UI. Libraries are all well and good, but they help you one small (trivial) aspect of mod development. If using self:RegisterEvent() is somehow easier for you than making your own event handler, then I'd have larger questions about whats going on. Writing addons is easy. Very easy.
I think libraries are great, but in this case, Ace just adds a mythical level of abstration that isn't necessary to something that's already incredibly simple. You wanna talk inter addon communication? Sure, that should absolutely have a library. Event registration, not so much, especially not the 1000 lines of code Ace uses for it.
Oh and my day job, software engineering. My PhD work? Pedagogy in introductory computer science.