When solving a non-obvious problem or using a quick hack to move forward, I almost always leave comment to explain e.g. the reason, or the potential better solution. I'm always puzzled when I see experienced coders working in large code bases who are not doing the same thing.