SQL server makes you aware the deadlock occurred, but it's not causing the deadlocks, your code is causing the deadlocks (whether that be TSQL, application code, etc.
Deadlocks typically occur because two or more processes are attempting to lock/update the same resource - (Reference: http://www.mssqltips.com/sqlservertip/1036/finding-and-troubleshooting-sql-server-deadlocks/).
If you want to see more detailed information on what caused the deadlock and which one was the deadlock victim, you can have them written to the error log - you can do this by turning on the proper trace flag:
DBCC TRACEON(-1, 1204, 3605)
______________________________________________________________________________"Never argue with an idiot; They'll drag you down to their level and beat you with experience"