@Umer Shahbaz Hello and welcome to Microsoft Q&A.
A deadlock happens when two (or more) processes are competing for resources and each process holds resources the other one needs in order to complete. Neither want to release the resources they currently hold. This results in a stalemate, gridlock, a deadlock.
To resolve a deadlock, one of the processes is chosen as "victim" and "terminated". That is, ended prematurely, so the resources are released, and the other process can complete.
In the case of a database, the resources are I/O connections and tables. If one process tried to read records another process was writing to, the result would be inconsistent data. So, when a process writes to a table, it might do a "table lock" until the transaction completes.
To avoid deadlocks, try to avoid scheduling conflicting jobs at the same time.
There might be a few more levers for preventing or handling deadlocks. I can go look those up if you like. This could be a one-off you can just rerun and ignore. If you get deadlocks repeatedly, let us know.
In this specific case, the deadlock was on connections to the database. Two or more giant jobs were sucking up all the IO and wanted more at the same time like a game of Hungry-Hungry-Hippos.
To database experts: feel free to add your advice. I haven't faced a deadlock in a long time, so I'm rusty.