Если мы рассматриваем андроидовский MVVM, то чаще всего он не рассматривается без DataBinding. Его приводят как один из основных аргументов того, что MVVM уменьшает количество кода в сравнении как если бы мы использовали не MVVM, а MVP
Mvvm нередко используется без data binding. Он уменьшает количество кода, потому что для того, чтобы следить за жизненным циклом и подписываться/отписываться от данных в MVP, нужна "обвязка" - Moxy или что-то подобное. ViewModel и LiveData предоставляют такую возможность из коробки.