There are a few reasons rerere is not enabled by default:

  1. It can be slightly dangerous. If the reason you are seeing a conflict again is because you are merging to a different spot (or re-applying a patch or cherry-pick to a different location), the reused resolution may not be appropriate (or you may miss sight of the fact that there are now other spots that didn't textually conflict, but need tweaked, too). You have to make sure to test the result.

  2. If you record a wrong resolution, it can be a little tricky to undo it (not if you understand the index, of course, but we all know how that goes...).

  3. Git has to spend effort generating and maintaining the cache (not a lot, but if you don't use it, it's not helping).

So it's really only worth the trouble and risk if you have a workflow where you frequently merge the same items together over and over. In git.git, the maintainer workflow is to merge individual topics into a rewindable `pu` branch, then to a `next` branch for bleeding edge use, and then finally to `master`. So your topic may get merged with another topic several times while they are both in `pu`, then again for `next`, and again for `master`. And the resolution would be the same each time.

For most people's workflows, it's probably not worth it.