Indeed. Terraform is a single point of failure because it explicitly needs to keep state. For larger environments this is a headache.
Ansible can read the running state which is more robust. External modifications of state happens, if nothing else than as a result of failure modes not under your control. Setting and reading state explicitly is a feature. Code should be committed to git at all times.