No amount of documentation is a good enough substitute for the source code.
Pet peeve alert! That's true, but undocumented source code is as bad. I don't mean stuff like my $count; # particle hit count, but design documentation. I've dove into undocumented source code too many times, extracting flow control diagrams, drawing data structures, documenting program logic in general. It's hard and it's tedious. A design document belongs in the source code. It's not enough if there's a dead tree version filed away on someone's desk. It has to be right there, with the source code. Very few large projects have good design docs because programmers hate writing documentation. They try to get away with arguments like yours, which is ok for the person who wrote the program, but extremely painful for the people who show up later.