очень плохо себя ведут в мультипоточной обстановке и любят выделять/удалять память когда попало (это и есть главная проблема с мультипоточностью).
например, помню - если сделать вектору reserve, это не гарантирует дальнейшее отсутствие работы с памятью, только при push_back, а если сделать clear, то он все равно вызовет delete по хардкору, и смысл резерва потеряется.
кроме того, очень сложно докапываться до причины бага, когда дебаггер тычет им в недра stl - это кошмарное нагромождение наследований и непонятного кода.
предпочёл написать быдловектор себе по вкусу (задача крайне проста, если не пытаешься угодить всем сразу, а знаешь что тебе нужно) в 1-2 экрана кода, и не парюсь.