1. Потому что хуки в React появились в версии 16.8, а redux-thunk, redux-saga раньше и тому кто их уже использует придется переписать работающий код.
2. Сами по себе подходы все же разные. И если у тебя работает один подход и работает хорошо, чем другой будет лучше?
Если скажем у нас будет 100 объектов User, то у каждого будет метод sayHello и это заполняет память.
Если мы записываем в прототип, то метод будет 1 и каждый из объектов User будет по цепочке прототипов ссылаться на него. То есть по сути да, вы правильно поняли.
А запись с классом это "синтаксический сахар" - то есть такой же функционал, просто записанный чуть проще.