Most engineers think Terraform modules exist to avoid copy-paste.
That is incomplete.
A local module creates a boundary.
That boundary forces all data flow through inputs and outputs.
Without that boundary, resources start depending on each other implicitly.
Implicit dependencies create unpredictable plans.
With a module, the dependency path becomes explicit.
Inputs control what enters. Outputs control what leaves.
That single constraint changes everything.
Refactors stop breaking unrelated infrastructure.
Changes stay localized.
Plans become predictable.
Modules are not organization.
Modules are containment.

