"Static Frameworks" are often used interchangably with "Static Libraries". "Static" means that the code and resources are statically linked, e.g. at build-time vs. being dynamically linked (at run-time).
Statically linked code is included in compiled binary. Code can be statically linked in the main app binary or in app extensions like a plugin or watch app.
Static frameworks are more performant than dynamic frameworks, both for size and runtime metrics. That said, static frameworks can't be shared across your app bundle (between the main app binary and other extensions).
General rule, if you're sharing code across multiple binaries, use dynamic frameworks. Otherwise, use static.
Featured Analysis: Twitter 🧵 on how the Mastodon iOS app was statically linking the same libraries in multiple places.