Это на самом деле определяет, что происходит при последовательных вызовах. Первый раз возвращается, следующий раз бросает. Я не являюсь поклонником такого поведения (я думаю, что лучше указывать изменения в возвратах конкретно и как можно ближе к вызову), но бывают случаи, когда вызовы глубоко в стеке неизбежны.
Так что в основном when(...).thenReturn(true).thenReturn(false)
вернет true в первый раз и false после этого. Это так же, как when(...).thenReturn(true, false)