「ViewBinding」と「DataBinding」を学習している過程でこの2つの違いは一体何なんだろうと思ったのでMENTAで契約しているAndroidエンジニアの先輩に質問して両者の違いを言語化して整理して頂きました。
一言で言うと「DataBinding」は「ViewBinding」の【上位互換】的な技術です。
しかし、エネルギー消費的な観点から「ViewBinding」で済む場合はできる限り「ViewBinding」を使うべきです。
「ViewBinding」はViewとJava/Kotlinのコードを、「DataBinding」はその上データをViewに連携させます。後者はデータの変更を監視して自動でViewに反映させる(オブザーバブルパターン)時に使うことが多いです。
「DataBinding」で検討してデータの連携が不要な場合は「ViewBinding」を使うことになります。
「YAGNI法則」でもあるように不要な実装は混乱でビルドも遅くなります。なので、「DataBinding」の実装が不要な時は「ViewBinding」を使うべきです。