I have always manually done the few sysadmin tasks I do, but recently had reason to learn automation tools. At my current job, I use Ansible because that's what the rest of the team does. However, in my spare time, I discovered CFEngine 3.<p>I would have assumed, given my background of manually performing these tasks, that I would immediately be attracted to Ansible over CFEngine. As it turns out, not at all. Now that I have played around with CFEngine, I keep bumping into issues where it feels like Ansible is in my way, or forces me to do things the complicated way.<p>I know a lot of people disliked the earlier versions of CFEngine, and I do realise the documentation is kind of so-so even for the current versions. But despite these things, what makes people prefer something like Ansible over CFEngine?