In our SQL Server environment, we have frequent blocking across a few different versions of SQL Server. Blocking happens when one connection from an application holds a lock and a second connection requires a conflicting lock. This forces the second connection to be blocked until the first connection completes. With this being said, locking is a natural occurrence in SQL Server in order to maintain data integrity. There are number of ways to find out the details of the system processes IDs (spids) involved in blocking.
1. sp_who2