Кортеж - это гетерогенный набор объектов, который должен рассматриваться как единое целое: например, ("Джон", "Смит", 30) - это кортеж (String, String, Integer).
Список (в C ++: а также vector) представляет собой однородную коллекцию объектов, то есть каждый объект может обрабатываться одинаково. То, являются ли они на самом деле одним и тем же типом, зависит от языка, но дело в том, что они могут обрабатываться одинаково.
Набор представляет собой неупорядоченную уникальную однородную коллекцию - вы знаете, какие объекты он содержит, и какого типа они есть, но не в каком порядке, и он содержит только один из каждого объекта.