Selenium wait for page to load is implemented using three different methods in Selenium WebDriver: Explicit Waits, Implicit Waits, and Fluent Waits. The main purpose of these waits is to ensure that the WebElements are available for performing tests after a certain period of time, allowing them to handle dynamic content loading with AJAX or other technologies. This can be particularly useful when testing websites that use such features, as it prevents errors caused by trying to interact with elements that are not yet loaded. The choice of wait method depends on the specific requirements of the test automation script and the desired level of control over the polling frequency.