The biggest difference is the inclusion of IViewModelFactory. This allows ModelControllerBase to return the Model converted to your associated View Model type. TridionControllerBase returns the Model as a base Tridion type e.g. Page and ComponentPresentation.
Compare for example:
TridionControllerBase
[HandleError]
public virtual ActionResult Page(string url)
{
url = AddWelcomePageToUrl(url);
IPage page = GetPage(url);
if (page == null) { throw new HttpException(404, "Page cannot be found"); }
return View(GetViewName(page), page);
}
ModelControllerBase
[HandleError]
public virtual ActionResult PageModel(string url)
{
url = AddWelcomePageToUrl(url);
IPage page = GetPage(url);
if (page == null) { throw new HttpException(404, "Page cannot be found"); }
IViewModel pageViewModel = ViewModelFactory.BuildViewModel(page);
return View(GetViewName(page), pageViewModel);
}