Deadlocked!

As many people have already pointed out, the advantage of nolock is higher performance, the risk is the possibility of reading uncommitted data.

Prior to implementing with (nolock) or Set Transaction Isolation Level Read Uncommitted, you should ask 2 questions:

  1. What (bad things) can happen if my application reads dirty data?
  2. How often will a dirty read occur?

For most applications (except banking, airline reservations, etc) the answer to #1 is nothing and the answer to #2 is hardly ever.