Does a lock mean a wait?
In most cases, locks don't cause waits.
Imagine I have a simple banking system.  In order to transfer money from account A to account B, I start a transaction and acquire a row-level lock on both account records.  That lets me run my validations (i.e. A has enough money for the transfer, the fraud department doesn't have a flag on either account, etc.), update both accounts to reflect the new balance, generate whatever logging is needed, and commit without worrying that some other session has made a change to one or both accounts that should have prevented the transfer.
Unless some other session comes along in the fraction of a second that I'm processing the transfer which tries to lock either A or B, the locks I acquired don't generate any waits.  Sure, it's possible that another session will be processing a transaction for A at the same instant that my session is, hence the need for the lock.  But given the thousands of accounts and millions of transaction that need to be processed, it is very unlikely that there would be contention for the lock.  Particularly if I design the system sensibly so that, for example, all batched transactions for a particular account are processed by one thread.  If there is no contention, there are no waits.