I believe these verses of scripture holds the answers to these questions. There is a time for everything under heaven. A set time. God knows when it is the best time to give us something, or answer our prayer, and He also knows the best time to delay. If we place whatever it is that concerns us in God's hand and allow Him to work it our in His way, in His time, everything will be okay.
We have to believe that whatever way He chooses to answer is the best for us, even if it is not the way we expected, because after all, God knows what is best for us. He knows our tomorrows and all that we will need to see us through. He is a faithful Father. All we have to do is trust Him. Never forget, that even when things in your life may not be quite like you would have them to be, you have a Father in heaven that loves you. He will never leave you or forsake you and He will always make a way, in His time.