Terraform Locals are named values that can be assigned and used in your code to reduce duplication within the Terraform scripts, thereby increasing readability. They differ from Terraform variables as they have a local scope and their value does not change once assigned. Terraform Locals can be assigned strings, expressions, maps, or even combined with Terraform variables for more dynamic scenarios.