reverse in Django is used to dynamically get the url of a resource sucha as a view,
eg
reverse('post-index')
will give '/post/', provided that you have given the urlpattern a name of post-index.
while redirect will redirect a user to another page. In this there is no use of resources.