Прошло много времени с тех пор, как я работал с типизированными наборами данных, но, насколько я помню, разница между ними такова:
«Возвращает DataTable» возвращает новый экземпляр объекта DataTable.
«Заполняет таблицу данных» принимает уже существующий объект и заполняет его результатами.