Blocking can wait and may clear when the blocker commits, rolls back, or moves past the locked resource. It is still a production problem when the wait lasts long enough to time out requests, delay jobs, or stall users.
A deadlock is a lock or wait cycle. SQL Server cannot let the cycle continue, so it picks a victim, rolls one transaction back, and returns error 1205 to the application.
Blocking diagnosis uses live requests, blockers, waits, locks, open transactions, and query text. Deadlock diagnosis uses deadlock XML, victim nodes, process nodes, resource nodes, error 1205 details, and application timing.