I spent sometime looking for the explanation to the subject. When to use TDataSource instead of TDataSet?
The reason is, your component becomes dependent upon DB, not Your*Dataset unit. Thus allowing for releasing without having to give out your component suite, plus your Dataset suite. (Keeping them as 2 individual suites).
-- Ozz