В с++ есть массивы. Как мы знаем, мы должны при инициализации задать количество элементов в массиве, и число этих элементов будет неизменным во время всей программы, никак нельзя убрать или добавить новые элементы (мы можем изменить значения уже имеющихся элементов, но добавить новые или полностью удалить какие-либо элементы мы не можем).
Но что, если мы не знаем, сколько в итоге будет элементов в массиве, но нам необходимо его использовать? Что, если мы хотим добавлять и удалять столько элементов, сколько хотим? Вот на помощь и приходит Vector. Это как динамический массив. Все его функции, но можем свободно добавлять или удалять элементы в нём.