ARM Templates:
ARM (Azure Resource Manager) template is a block of code that defines the infrastructure and configuration for your project. These templates use a declarative syntax to let you define your deployment in the form of JSON (JavaScript Object Notation) files. All the resources and their properties are defined in this template. This helps in automating the deployment process in a constant flow
Terraform :
Terraform is a tool for building, changing, and versioning infrastructure. It is essentially an infrastructure as a code (IaC) tool that helps you build, manage, and scale your infrastructure easily and effectively. It is a powerful tool that supports multi-cloud like Amazon Web Services, Microsoft Azure, and Google Cloud Platform, or on-prem in private clouds such as VMWare vSphere, OpenStack, or CloudStack. The primary use of the terraform is to ensure that the infrastructure never drifts away from its desired configuration. The language used for configuration is Hashicorp Configuration Language (HCL).
https://www.thetechplatform.com/post/arm-templates-vs-terraform-in-azure