Apart from discussing about troubleshooting a rare deadlock condition, James Rowland-Jones, in one of his most popular articles, illustrates a lot of fundamentals about deadlock troubleshooting and SQL server lock manager in his post The Curious Case of the Dubious Deadlock and the Not So Logical Lock
I strongly recommend you to read this relatively lengthy article and also follow the comments in the post.
This post is part of the series SQL Server deadlocks and live locks – Common Patterns. If you have questions, please post a comment here or reach me at @sqlindian