One more use case is that you sometime need to do something, not just specify idempotent configuration. For example, you might have a nightly task to run a script on multiple servers that dumps a data file, then copy those files to a central server.
Ansible can easily be used for both "I need to configure a thing" and also for "I need to script activity".