Besides what was already mentionned, I also use those tricks:
If by any chance the unresponsive program was started in a terminal, I would try a ^D or ^C. If nothing happens I'd try ^Z followed by a kill %N with appropriate value of N
If I know the responsible program, I would pop up a terminal and use killall