Jaka jest różnica między routerem kątowym a angular-ui-routerem?

Planuję używać AngularJS w moich dużych aplikacjach. Właśnie szukam odpowiednich modułów do użycia. Jaka jest różnica między modułami ngRoute (angular-route.js) i ui-router (angular-ui-router.js) ? W wielu artykułach, gdy używana jest ngRoute , trasa jest konfigurowana za pomocą $ routeProvider ....