Если по-простому:
list - связный список.
Реализован как последовательность элементов с указателями, ссылающимися друг
на друга, из-за этого вставка и удаление элементов в любом месте выполняются за
постоянное и относительно небольшое время, а вот доступ к произвольным элементам
получается дорогой, так как каждый раз приходится выполнять проход по списку с
самого начала. На базе связных списков выгодно строить такие структуры данных,
как стеки и очереди.
vector - динамический массив.
Реализован как непрерывная последовательность элементов.
Произвольный доступ к элементам осуществляется за постоянное время, но
вставка и удаление ведет к накладным расходам, так как приходится
выполнять сдвиг части массива, а еще выполнять перераспределение памяти.