お世話になります。

初歩な質問でいつもすみません。
C#を使用し、Accessとデータのやり取りを行う必要がでてきたので
勉強から始め直したのですが、このDataSetの使い道がいまだによくわかりません。

まず、『メモリ上にデータを保持する』とか書いてあるのですが、これは単に
ListやDictionary等のコレクションクラスで二次元などの配列を作り、
そこに値を入れていくということとはまた別なのでしょうか?
もし同じなら、わざわざDataSetなるもを使用せずとも、自分で領域を作ってさえおけば
それで用が事足りてしまうのではないかという気がします。

また、DataSet側の値を操作、変更してもデータベース側も自動で変更されるわけでは
ないので、結局はADOなどでゴリゴリSQLを走らせなければならないというと、
『ただの入れ物』にすぎないということなのでしょうか?

やりたいことは、データベース側のデータをリアルタイムで取得し、変更などが
行われた場合にデータベース側への更新を極力少ない手間で行いたいのですが、
そういったことはこのDataSetは受け付けてくれるのでしょうか?

基本的な内容で申し訳ありませんが、何卒お願いいたします。