`router.refresh()` triggers a re-render of the current route and re-fetches Server Components data (respecting caching). Use it after a mutation (often after a Server Action) when you need the server-rendered UI to reflect the latest data without a full page reload.
Expanding on the short answer — what usually matters in practice:
A tiny example (an explanation template):
// Example: discuss trade-offs for "what-does-`router.refresh()`-do-in-the-app-route"
function explain() {
// Start from the core idea:
// `router.refresh()` triggers a re-render of the current route and re-fetches Server Compone
}