Agreed Ansible isn't fully declarative like some other tools, but the variable management, roles, template engine, and integrated vault, are a big improvement from shell-scripts-over-ssh. Also in some cases, having yaml structure can be a good thing. Handing a pile of shell spaghetti to a new hire and expecting them to reason about it is less than ideal.