Essentially every redirect should be one straightforward jump, sending the user agent directly to it's final destination. So how can it go wrong? Imagine you have example1.com and it redirects to example2.com. Now suppose each of these domains also has a rule that redirects the no-www urls to the with-www urls.
What should happen is: example1.com --> www.example2.com
But sometimes it goes like one of these two patterns instead: example1.com --> www.example1.com --> www.example2.com [BAD] example1.com --> example2.com --> www.example2.com [ALSO BAD]
Now throw in a few more types of redirects, like index.html --> / ...or the server is redirecting the url without a closing slash to a url version with a slash. ...or a url rewrite scheme in place with old-style links still out there. ...or a poorly executed "custom" 404 error page that is really a redirect.
Mix enough of these into a big pile and you can get nearly total chaos.