In my experience, I simply do this as a way of polling the app to see whether it's still working. A working app will often have the main gui loop running so you'll be able to see the GUI respond to clicks, focus changes etc. If the app doesn't do that, it's a sign that it's blocked waiting for something (network or file access, for instance). Experience then informs me whether it's normal for a certain app to behave in this way, and whether I should wait longer to let it finish or just kill it off.
So for instance, a long time ago I was an Opera user on Linux. In certain cases some bug would cause it to go on a memory eating rampage which would slow the machine to a crawl of swapping if I didn't react quickly enough to kill the process. I developed a very good sense at "smelling" when this was about to happen, so I could react quickly enough to kill the process before just switching over to the terminal would take something like a minute.