If the process queue fills up, the messages back up onto the system queue. If an app doesn't handle messages and they back up into the system queue, other apps can't get any more messages. The reason is that the next message in line can't go anywhere, and the system won't skip over it. This can be fixed by making apps have bigger private message queues. The SIQ fix does this.
Applications can also request large queues on their own.
Another source of the problem, however, happens when you include keyboard events. When you press a key, there's no easy way to know what window the keystroke message should be delivered to. The window with focus gets all incoming keyboard messages. Focus can be changed from window to window by apps or by users clicking on winodws. This is the second source of the problem.