Building strings in C can be painful, but parsing them is not too bad. I suppose security is another big concern, especially with something built explicitly to process user-supplied data.
It's fast and you can make bindings for it to any other language extremely easily.