I know it's not the intended use case but I primarily utilize Ansible for individual, customized hosts. It absolutely rocks when you have dozens of systems to manage though. For individual hosts I use it as a way of documenting how a system came to be in its state almost for disaster recovery (i.e. what software was installed, config file templates, etc.). If you find yourself setting up certain stuff routinely, make it a "role" and reuse it like a function. I do cheat on those custom boxes though by running through the ansible playbook that takes me 90% of the way there, then a README to explain the little stuff I had to do by hand because it's still easier to adjust something by hand sometimes.
Like any complex framework, it takes a bit of patience to learn and learn some more before getting to the payoff point. At least that's how it is for we mortals.