Importance of understanding Aws Management Console first and choice of infrastructure as code tool

Good morning, guys i see a lot of struggles in DevOps i do sometimes myself and the reason this happens is because we fail to learn the basics first. Let’s say for example you want to learn how to provision infrastructures resources such as Ec2, Vpc, public and private subnet, Internet gateways, route table, elastic load balancer, auto Scaling group, security group, RDS just to mention but a few, all these using terraform tool. Meanwhile you can't escape this whether as cloud engineer or DevOps engineer in fact is a key requirement in the field, it's a must know however, the only way to get this under your belt i mean to learn this is to first know how to draw the architecture itself with diagrams for example using draw.io. Secondly, know how to provision these resources on Aws Management Console itself, create an account is free, aws.amazon.com ,however, once you can do this manually and you get the flow it will be easy to create that same infrastructure using terraform tool because you will be doing the same thing but now using infrastructure as code(IAC) and of course with the help of terraform documentation (registry.terraform.io/providers/hashicorp/a.. is cloud agnostic is preferred when dealing with multiple cloud providers and basically if you must use terraform modules these are major advantages over other infrastructure as code tools such as cloud Formation. Having said that Aws has its own internal infrastructure provisioning tool call Cloud Formation it does infrastructure provisioning as well, you can avail yourself the opportunity to learn it and this becomes a must particularly if your company uses aws cloud formation, customer requirements makes it a must and if the project has to be done completely within aws ecosystem. So there you have it the choice of infrastructure as code tools to use completely depends on you and your skill sets

Now the question If you are asked to provision your infrastructure on Aws cloud platform why would you prefer using terraform for this task when Aws has it's own in house infrastructure provisioning tool , Pls give your reasons and explain. The above could easily be an interview question so give your response with DevOps best practices