This is a thoughtful question, and I think a big part of the answer is that God uses certain means to accomplish His plans in order to bring Himself the most glory. When we pray for something and God gives it, He unquestionably gets the glory. This is why “we have not because we ask not,” as James 4:2 puts it. Were God to always give us what we need apart from our prayers, I guarantee you we would quickly lose sight of Who was behind those gifts. We would either take in the gifts unnoticed or, worse, conclude our own great abilities were responsible for obtaining them.
God uses the means of prayer because He wants us to remain dependent on Him, to remind us that we’re creatures in need and that He’s the giver, and to help us recognize His work in the world (that is, we see and know He’s working when specific prayers are answered, and we know this in a much deeper way than if He were to act behind the scenes without our thinking about it). Our prayers keep us connected with all these things and cause us to rightfully worship and appreciate Him in awe and thanks.
When we say, “But Your will be done,” at the end of a prayer, that’s yet another way of recognizing our place as creatures beneath God, our fallibility even in praying for the right things, and our willingness to see Him glorified in the way He chooses.
So our prayers really do make a difference—not only because they change us and the way we view God, but because they’re the means God uses to intervene in the world. “We have not because we ask not,” therefore God moves when we ask. Our prayers are part of His plan. Yes, I also think the Holy Spirit moves us to ask in accordance with God’s plan, but that’s happening behind the scenes and is not something we need to figure out or try to learn to recognize. Our job is to go ahead and pray about everything, knowing that our prayers are making a difference because that's the way God has chosen to work.
(You can see Brett's video response to this question here.)