Answer
I can think of two reasons for why prophecies don't come to pass as predicted at the time. First is that some prophecies do not foretell events that must happen, but are conditional, such as Jonah's prediction that Nineveh would be judged. God allowed them to repent, because if they repented then that judgment would not fall upon them. So while Jonah proclaimed that Nineveh would fall, the people of Nineveh repented. Actually, the prophet Jonah was not too happy about this, as he had hoped that Nineveh would be judged, but because they repented, God did not judge them. This is one of the examples where the prophecy states the condition that failure to repent would result in judgment, and thus repentance would mean no judgment. Another factor is to consider God's use of words. He sees a thousand years as a day, so when the book of Malachi says that it'll be a little while and the messenger who establishes the covenant will arrive, and that "little while" turned into 400 years, then sometimes the timeline that God announced is not necessarily the same as what we as humans are used to.
Answer by Dr. Peter Chow
Dr. Peter Chow was President of China Evangelical Seminary in Taiwan (retired), and now serves part-time as a pastor at Trinity Christian Church of Greater Philadelphia.