You are probably used to seeing code like this:
WebElement googleSearchBar = driver.findElement(By.name("q"));
The WebElement object that you have created is actually a reference to a specific element in the DOM; think of it as a phone number that you call to talk to that element:
When the DOM is manipulated and the old element is destroyed, that reference no longer links to an element in the DOM and it becomes stale. Using our phone number analogy, this is where ...