Вам необходимо использовать их или какое-либо другое решение той же проблемы, когда у вас могут быть параллельные изменения в одних и тех же данных и когда нет четкого правила, для которого изменение «выигрывает». Это подмножество случаев, когда два человека редактируют один и тот же объект.
В общем, оптимистическая блокировка хороша, когда конфликты маловероятны, потому что они менее затратны для людей: вы можете просто редактировать, и очень редко вам говорят, что вам нужно повторить работу, потому что кто-то другой изменил объект.
Пессимистическая блокировка хороша, когда вероятны конфликты, и много усилий для повторного выполнения работы, и ваши пользователи не хотят долго вносить изменения, и им можно доверять, чтобы быть вежливыми, например, снятие блокировки по окончании.
Оба работают хорошо, если и только если у вас есть относительно небольшое количество пользователей, заинтересованных в одних и тех же данных. Обе модели плохо масштабируются до большого количества одновременных правок, поскольку они либо вынуждают пользователя повторить работу в случае конфликта, либо ждут, пока кто-то еще не закончит, прежде чем он выполнит свою работу.
Когда вы ожидаете конфликтов, и очень немногие пользователи работают с одними и теми же данными, вы хотите использовать более продвинутые подходы, такие как CQRS, для решения проблем параллелизма.