Writing Code for the Next Person
System Documentation
Often overlooked, ignored, and even loathed is system documentation. By "system", I mean "the thing being delivered." So, that's really a broad term. This could be a small feature or it could be a years-long major project.
Early in my career, one of my employers would always start projects by first writing specifications before the first line of code is written. The benefit to such documentation included aiding technical writers who had to create documentation for customers, new developers who needed to come up to speed on a project, and even project managers who needed to ensure that what they wanted was what engineers planned to deliver.

I have seen instances in my career where a customer request, a product requirement, or an engineer's understanding of a product requirement were not all the same. Documentation often helped to surface such misunderstandings.
While detailed system specifications seem to be a rarity these days (largely due to the introduction of agile), even in recent years I have seen some level of system documentation. Often, it has been an afterthought, though. Still, it is better than nothing. One motivation I have seen for creating such documentation is asking the tech leads to do training. (I will admit that has been a driver for me more than once.)
Where I think system documentation goes too far is when incremental improvements are made and there is a separate system functional or technical specification for it. In many instances, minor modifications to an existing system should be put into a revised version of the existing system documentation.
Perhaps it is decided that code-level documentation for a component of a larger system is sufficient for the business. That might truly be the case. However, if any two components communicate, those communication interfaces should be documented. I have seen numerous instances where systems fail to communicate due to a failure so specify exactly what data is to be conveyed and how. This is especially true when those are interfaces between products managed by different teams.