"infrastructure as code tool that enables you to safely and predictably provision and manage infrastructure in any cloud"
Doesn't tell me anything. Is this a markup language for describing networks? Is it some web interface where you drag and drop server icons and then draw lines between them? Is it a simulation tool? Is it some provisioning thing like chef with a database for different machines?
Why would I need to encode something like that? Are you talking about maybe having identical setups in different parts of the world?
In development we don't send archives of code to each other (OK, some people do I guess) and in infrastructure we don't click around in AWS to make changes
The click around technique could have logs and audit trails just the same. Someone could also just type up what they did.
If you're doing 100 of something I'm sold but the record argument I find unconvincing. A preference sure, but a simplifier, no.
You don't need 100 instances of something to make managing it programmatically worthwhile. Different environments, for example: Terraform makes it very easy to ensure _all_ of the cloud config in prod matches staging (or the inverse), and to set up and bring down ephemeral development environments, using parameterised Terraform modules so you can be confident changes will propagate appropriately.
For those interested, there is a small package that is the core of the specialized graph data structure that powers this: https://github.com/opentofu/opentofu/blob/main/internal/dag/... (link to the most interesting comment block in the package)