The previous post dealt with lsd hogging the CPU. While investigating that, I also took a look at the disk: the data volume of this MacBook Pro is 466 GB in total, 389 GB were already used, and only 42 GB were available, i.e. 91% full. Drilling down with du level by level, ~/Library/Caches alone took 106 GB, 102 GB of which were under CloudKit.
Deleting these caches is easy; the hard part is figuring out where they came from. Below I first describe the cleanup, and then come back to three questions: where the cache came from, how to notice it early next time, and how to avoid accumulating so much of it again.