Как я понял, очевидные (explicit) ожидания нужны для случаев, когда есть какие-то специфичные элементы, время ожидания которых намного дольше обычного для других. Ну по крайней мере я бы их только в этом случае использовал, больно уж они коряво выглядят в коде.
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS) без проблем работает в firefox, но если те же тесты запустить в Internet Explorer, то появляются исключения org.openqa.selenium.StaleElementReferenceException: Element is no longer valid, причем при каждом запуске тестов исключения появляются в разных местах. Насколько я понимаю, это как раз тот случай, где нужно использовать Explicit Waits. Или на самом деле проблема может быть в чем-то другом?