DataSet - представляет набор таблиц. (Содержит набор DataTable).
DataTable - представляет одну таблицу.
SqlDataAdapter позволяет выполнить sql запрос и поместить его результат в DataSet/DataTable.
В DataSet можно вносить изменения, механизм ChangeTracking будет фиксировать изменения (флаг на уровне записи добавлена/обновлена/удалена).
После можно применить накопленные в DataSet изменения к БД.
Для выполнения операций SqlDataAdapter использует соответствующие запросы (Update, Delete).
Для автоматической генерации запросов можно использовать SqlCommandBuilder.