Selenium sees tabs and windows as the same thing: 'Window Handles'. Each has a unique alphanumeric ID. To interact with a new tab or window, you must explicitly 'switch' the driver's focus to that handle using `driver.switchTo().window(handle)`. You can get all available handles using `driver.getWindowHandles()` or get the current handle using `driver.getWindowHandle()`.
Imagine you have multiple browser tabs open. Selenium is always looking at one specific tab. If a click opens a new tab, Selenium doesn't automatically see it. You have to tell Selenium 'Hey, look at that new tab now'.
A user clicks 'Terms and Conditions' and it opens in a new tab. You try to click 'Accept' in that new tab, but Selenium throws an error. Why?