Selenium was designed when a page load meant a new page. Modern apps redraw pieces of themselves constantly without loading anything, and that mismatch is where most Selenium pain in a React or Angular app comes from.
Three specific problems, each with a specific fix.
The element you found no longer exists.
You already met StaleElementReferenceException in the earlier lecture. In a single-page app it happens far more often, because a small state change can replace a whole section of the DOM.
The fix is a habit: find late, use immediately.