It’s code, but perhaps I refactored an existing method to improve it while I was building a feature that used it. It’s much nicer to commit those two things separately just in case either my new feature or my refactoring needs to be added/reverted independently of the other thing. To be totally correct I should complete only one thing, and then the other, but my brain doesn’t always work that way. This enables me to keep it clean for committing, and to run the test suite on each commit so that if there’s a breakage, I know which thing caused the issue.