Al dataset le pones la sentencia select y automáticamente (con un botón

) te crea las insert, update, delete y refresh. Sirve para poner por ejemplo en un mantenimiento de tablas, asociado a un grid, etc.
El query es una sentencia (select, insert, etc.), pero sólo una. Mucho más rápido, por ejemplo, para traerte los datos para un informe, búsqueda de algunos registros, etc., o sea, es más especialilzado.