Dynamic APIs rely on information that can only be known at request time (and not ahead of time during prerendering). Using any of these APIs signals the developer's intention and will opt the whole route into dynamic rendering at the request time.
Static is default in App Router for better performance, it is default behavior for fetch requests
Dynamic data/ dynamic functions automatically opts routes into dynamic rendering. Add options to fetch or use dynamic functions
Streaming works best with App Router and React Suspense, Use Suspense boundaries with async components
Incremental Static Regeneration (ISR) offers a hybrid approach: Combine static and dynamic parts