The Single Responsibility Principle.
Every source control commit should serve only one purpose. If you have to put the word "and" or "also" in your summary, you need to split it up.
You can do thisIt's very common to end up with lots of separate unrelated or semi-related changes in your working copy. This is called the "tangled working copy problem," and it's actually very hard to avoid even for disciplined developers. However, Git and Mercurial both give you tools to resolve it -- with git using gitgit add -p or with Mercurial using chunkchunk selection and Mercurial Queues in TortoiseHg respectively.