Understanding it
The server answers with the HTTP 301 code and the new address. Google then treats the destination as the version to show. A 308 redirect means the same; a 302 or 307 redirect is temporary and keeps the old page in results.
In a redesign, every old URL that gets visits or links should point to the page that truly matches it, not to the homepage. That is what preserves acquired traffic.
Each redirect should be direct: a chain of several hops slows crawling and can lose signals.
A concrete example
Illustrative example: a redesign that changes every address
A small business redesigns its site and moves from /services/seo.html to /expertise/seo. Before launch, the team lists old URLs that get visits and links, then prepares a 301 for each one to the matching new page.
After the switch, Search Console and server logs show the remaining 404 errors, fixed within the week.
The common mistake
Redirecting everything to the homepage
Sending every old page to the homepage is treated by Google as a missing page: the expected content is not there. Redirect each page to its equivalent, and leave a 404 for what has none.