We use a number of tools to manage our Cassandra cluster.
* Datastax OpsCenter  for at a glance information, and trending
statistics. You can also run operations through here, though I prefer
to use nodetool for any mutative operation.
* nodetool for ad hoc status checks, and day-to-day node management.
* puppet for setup and initialization
For this, we use puppet to manage any changes to the configurations
> For example, if I want to make some changes to the configuration file that resides on each node, is there a tool that will propagate the change to each node?
(which are stored in git). We initially had Cassandra auto-restart
when the configuration changed, but you might not want the node to
automatically join a cluster, so we turned this off.
Multiple commands to the cluster are sent via clusterssh  (cssh for
> Another example is if I want to have a rolling repair (nodetool repair -pr) and clean up running on my cluster, is there a tool that will help manage/configure that?
OS X). I can easily choose which nodes to control, and run those in
sync. For any rolling procedures, we send commands one at a time,
though we've considered sending some of these tasks to cron.
Hope this helps.