Most variables are not documented because you can tell what they do given their name and the function they are in. If that isn't enough, then a comment is required. If the variable is part of the external API of the component, then more documentation is needed.
If you want to find out what something is supposed to do, you look at the documentation, the name, and the context.
If you are trying to find a bug, then you are correct that the documentation usually won't show it (unless the bug is in the design).
Tracing is when a debugger steps through your code line by line as your program runs. It is an extremely common feature.
Certainly there are environments where you cannot use a debugger, and you are forced to examine code manually. Even then it is often most useful to follow code flow, rather than what variable is changing.
This benefit of semi-isolating when a variable changes is small compared to the other benifits of local variables (mentioned in the other thread). Indeed in most cases having function local variables is itself a way of isolating when a variable changes, as then you know that the variable can only change within the function it is declared in, and the functions called by it.