Because if Django's reverse fails the error was made by the programmer. App_reverse can fail because of **user** error. Such as when an application content exist on the page for one language but not for another.
That is in conjunction with the new language aware app_reverse.