`pthread_mutex_trylock` detects deadlocks, doesn't block, then why would you even *"need"* `pthread_mutex_lock`?

Perhaps when you deliberately want the thread to block? But in that case it may result in a deadlock?