I keep docs close to the code and update them only when they explain why something exists, not what every line does. Good names and simple structure reduce the need for heavy docs. The useful documentation is usually around setup, decisions, edge cases, and things future devs might break.