Just for an example. How about debugging a non trivial issue between a program and a dynamically loaded library.
You can't just scan the IAT/PLT. You are going to have to find load points or manually step through, and maybe calculate function offsets in the library. Not impossible at all.
It is however something you could have just quickly glanced at and found otherwise.
Like, can you give an example of a debugging task you have carried out that requires reading the code segment of the running process?