>It is because there are many ways to configure AWS ... it is up to the developer use that knowledge with the tools of their choice.
I see this as a huge negative of AWS, personally. While the "freedom" of being able to choose whichever Infra-as-Code tool I personally prefer is nice, it's also a huge negative that there isn't one single tool that has the full backing and endorsement of AWS.
CloudFormation is the "official" tool, but it's basically a second class citizen in AWS rife with bugs and gotchas, and often lags in adding support for new AWS features. CDK is the up-and-coming "official" tool that seems like it might take the spotlight, but it's still in pre-release and because it relies on CloudFormation under the hood, it too is less than ideal.
Terraform is probably the most feature-complete and most frequently updated IaC tool, but since it's technically third party it isn't going to be included in official AWS docs/tutorials or get first party support from AWS.
Then you throw in the other stuff like the Beanstalk CLI, Copilot, SAM, Chalice, Amplify CLI... there are so many tools for creating resources in AWS that it's overwhelming when trying to decide which one to use.