They allow easy communication with the C library. The primary disadvantages are that Operations such as concatenation and substring are much more expensive than for ropes if the strings are long. A C string is not a good representation for a text file in an editor. The user needs to be aware of sharing between string representations. If strings are assigned by copying pointers, an update to one string may affect another.
C strings provide no help in storage management.
This may be a major issue, although a garbage collector can help alleviate it. The same is true if it will be modified by STL container algorithms. Unlike C strings, vectors handle internal storage management automatically, and operations that modify the length of a string are generally more convenient. This is usually not hard. Conversion to C strings is currently slow, even for short strings.