QTableWidget is a class that comes from Qt3 times, when Qt didn't know better, it's there for compatibility reasons.
QTableView uses a model view approach (MVC pattern) to separate responsabilities, it makes the code slligtly bigger but simpler to handle different requirements, such as different fonts / colors for background.