Creating a custom authentication backend for Django is actually quite easy.
What might they be used for?
For this tutorial I will create a IMAP authentication backend which allows checking a username and password against an E-mail server - perfect if you are writing your own webmail client or address book.