динамически массив, в котором элементы состоят из строк string, обернутый в удобную оболочку vector которая вместо вас следит за использованием памяти и позволяет удобно изменять свои размеры и прочие плюшки.
std::vector - это тип переменной, то бишь тип vector из namespace std. живет этот тип в стандартном заголовке vector. это один из стандартных типов контейнеров, то есть таких типов, в которые ты что-нибудь кладешь. vector - это контейнер для наборов. нужны они чтобы не думать о выделении и очистке ресурсов. у них еще есть туча применений, но это долгая история.
std::string - это другой тип переменной из того же namespace std. живет этот тип в стандартном заголовке string. как несложно догадаться, это стандартный тип для хранения строк.
треугольные скобки - это синтаксис шаблона. в этом случае значит. что мы создаем переменную контейнер типа std::vector, в котором каждый элемент - это переменная типа std::string.
а назвали все это счастье мы vec_str.