What does Chio buy me that regular expressions (for example cl-ppcre) do not? Are there any clear advantages?
Flexibility. With Chio you encapsulate specific search tasks as function objects called “simple-tests”. Whereas the parse trees of a regular expression syntax like Perl's employ a proscribed vocabulary, Chio's “binding-trees” contain arbitrary simple-tests that you create by writing your own Lisp code. In effect, it is as if you were writing your own code and inserting it smack into the middle of your regular expressions. Chio provides a library of routines to help you to write such code, primarily by means of algebraic operations that produce new simple-tests from old. In a sense, Chio doesn't really use regular expressions at all. The Lisp reader vaporizes a regular expression before the compiler sees it, expanding it into Lisp code for a simple-test.
Clarity. Encapsulating search tasks into simple-tests and giving them meaningful names allows you to organize your thoughts more clearly. Any simple-test object can be inserted into any binding-tree, so that each simple-test you write expands your vocabulary.
Syntactic sugar. The main macros (with-test-binds, with-test-format, and with-test-split) can be customized to perform a large variety of tasks via their optional keyword arguments. Although other packages may offer similar sweeteners, Chio offers more than I have seen elsewhere.
Are there any disadvantages?
You may get greater speed from a pure regular expression engine. This is because Chio uses lots of function calls in some situations where a pure regex engine can get away with pushing things onto and popping them off of a stack. Usually, but not always, more function calls means slower performance. In some situations where you have a good understanding of your data, you may be able to use Chio's higher programmability to get faster performance. But in general, if your tasks are easily handled by regular expressions and you can live without the extra freedom (and pleasure) that Chio offers, then Chio may not be for you.
Since Chio makes extensive use of macros, you may unknowingly generate quite a bit of code. For this reason, you might want to be cautious about nesting macro calls (like using with-test-binds within a call to with-test-binds). This will probably not be an issue in most circumstances, but if you are in doubt, macroexpand to see what is going on.