Often it makes no difference at all. That's why it's an option. :-)
Programs like JACK ordinarily try to lock memory when running with the
--realtime option to prevent data accessed by realtime-critical code
being paged out. If that happens XRUNS will surely ensue, but it
usually doesn't because these pages tend to be accessed regularly
enough to escape the VM page replacement algorithm. But, without
mlock(), there is no guarantee.
If you decide to specify mlock=0, you should probably also specify the
`jackd -m' (--no-mlock) option.