Although I like the easy customisability of the custom commands, for me their usefulness is somewhat hampered by three significant drawbacks:
1) Lack of proper documentation. tjw's site doesn't say how to use them, and a google search last I checked turned up at least one result that was plain wrong. Not user-friendly, to be honest.
2) They are always listed in !help at the end of the list (where all others are alphabetical), and their !help command summary is a little different to the usual listing you get from any other command. This makes them obviously separate from the usual commands, and makes them look untidy, as if they weren't "proper" commands (which they may not be, but there's no reason why they should LOOK like that).
3) They are inflexible and somewhat limited by their inability to accept arguments. I know, this would be hard to code, and probably not THAT useful, but it could make the command blocks a real tool for server admins instead of a side-note or optional extra. I know, for example, a server with a !broadcast command, that just cps a string to everyone. Not much use admittedly, but a custom command system that accepted arguments would make the admin system so much more versatile and interesting to use.
Thinking about potential uses of this, the thought occured that just a !set command would be helpful. Obviously ignoring rconpassword and similar (perhaps the settable cvars could be, um, set), the command would take the first argument and set it to the second argument, e.g. !set g_humanstage 2 (obviously this would only be given to the highest admin levels).