The connection to the database must remain valid for the life of the data objects
All tables in a dataset must come from the same database.
A given instance of a DataTable can be in only one DataSet
Changes made to multiple tables within a DataSet can easily be extracted to a new DataSet which contains only the changes
Content from multiple DataSets can easily be combined into a single DataSet that contains the net result of all changes.