Since you asked about vector in general, not about vector of strings, yes, I was forced to write a memory allocator which prevented fragmentation. The idea was common and simple, it was using larger chunks for small and fixed size memory blocks. Deque could quickly acquire specified block of memory (in logarithmic time), while vector had not only to copy data but also use slower new/delete as it grew in size.
This, along with other benefits, is why I prefer deque as a general-purpose container for strings.I am arguing that you must have a reason for it, such as inserting at the beginning of a vector.