What do each of these terms mean, and what are the differences between them?
The difference is the provisioning way (or process)
Infrastructure as code, also referred to as IaC, is a type of IT setup wherein developers or operations teams automatically manage and provision the technology stack for an application through software, rather than using a manual process (infrastructure configuration) to configure discrete hardware devices and operating systems. Infrastructure as code is sometimes referred to as programmable or software-defined infrastructure.
Infrastructure-as-code is trendier than infrastructure configuration.
Infrastructure-as-code has an implication that some form of programmed tools to manage the deployment whereas infrastructure configuration can be done the same way or with binders of information printed on pages.
Why is configuration management important?