Which is better: Porsche or tractor? All, of course, say that Porsche because it is faster, more comfortable, more elegant, etc. But how wrong they are when their Porsche gets on a plowed field after heavy rain. The wheels are spinning, but there is no movement. This is where the tractor will be appropriate!
Ansible has gained popularity with a rather flexible and powerful tool for rolling software onto servers, but everyone uses it only as part of their situation. For example, if corporate integrity disables Firewalld at the stage of installing the virtual machine, then be sure that you will not see any "firewalld" modules in task. But for another person, the firewall can be turned on and the user may simply not see the final result (the port is closed). As a result, the role is bad and you have to finish everything by yourself. Or if the corporation uses CentOS, then on Ubuntu you will never run this, possibly, ideal role. You don't like systemd? Others will not understand how to manage a service. Also, you don't use proxies? Say hello to the one person for whom it's the only Internet connection. Instead of that, you have debugged Ansible role tests, where there is not one "Changed" when the role is repeated and the time the role was worked out is 2 seconds less than it was last month. But who needs your role if it works only for you.
Here we will talk about "the low ones": not about the beautiful green light bulbs for passing the tests, but about real cross-country ability. Who knows, maybe it will be the Best Practice Ansible soon.