Based on my personal experience, I believe there are several factors involved in the timing of God’s answers. My first understanding of God's timing came in in a dream (The Bus). Other life experiences added to that lesson and I came to the following conclusions.
First, there may be others in involved in our request, and since each of us is free to accept God’s will, or reject it, the prayer might not be answered, or it may take a long time for the other heart to soften and finally relinquish their will to His. God is patient. He’ll wait. Then, we must wait.
The other option, we may be the stumbling block. Maybe we aren’t ready and God in His wisdom will not grant a prayer we aren’t capable of handling. He’ll send difficulties and trials, conditioning us until we are ready.
And then, there is the answer we don’t recognize because we are stiff-necked, expecting it to be answered only one way, our way. It takes an opened mind and heart to see God's answer when it comes disguised as something we don't expect.
As the cliché says, God’s timing is always best. Being God, He can take all of these factors and know exactly when it is the best time to answer our prayer, or even if the prayer should be answered. An unanswered prayer is the first sign He has other plans.
That doesn’t mean life is all rosy just because I trust Him more (my rising blood pressure attests to that), but I don’t fight Him as much. I pray to know His will rather than to impose mine. I can confidently say that as a result, I “have seen the good things of the Lord in the land of the living.” (Psalm 27: 13). However, it is in His timing, not mine, and always better than I imagined - eventually.