God answers all prayer, not always according to our desires, but in all things in what is best for us. God does not have tunnel vision, as we do, and He knows what is for our greater purpose. When we pray, if we leave our will out of it, and leave the outcome according to His will, we will never be disappointed.
It is only when we try to dictate what we feel we need that we, at first, do not recognize what He gives us is better than anything we would ask for ourselves. God does have a plan for us and He does know best how we can serve Him and fulfill the purpose we were sent here for.
God realizes what will bring us joy more than we do ourselves. What makes us feel fulfilled, where we should be at each point in our lives. He will provide all that we need to fulfill our purpose. So the best prayer is the one He taught us "thy will be done," and to stand back and see the miracles He brings into our lives.
It is when we stop trying to control things that they start working to a greater advantage than we would ever have imagined. God certainly knows what is best for us, even if we do not. God does have a plan, even if we don't recognize it.
Release all things into His hands and be at peace. The life that you are blessed with, by Him, will by far surpass all that you would have dreamed for yourself. He makes us rich in ways we never imagined.
And in the course of letting go we become more conscious of all we have. We become aware of the beauty around us and stop struggling to fit into a plan that was not created for us. Or in work or relationships we have outgrown.
God cannot give us all the blessings He wants to bestow while we stubbornly cling to what is not meant for us anyway. He will not take away our free will. When we realize the depth of God's love and in our faith learn to let go and let God, only then do we realize a life totally free and blessed.