So why doesn't God always say yes to our prayers?
1. Our prayers are selfish.
When you ask, you do not receive, because you ask with wrong motives, that you may spend what you get on your pleasures. (James. 4:3)
2. Our prayer isn’t made in faith/trust.
James says: But when you ask, you must believe and not doubt, because the one who doubts is like a wave of the sea, blown and tossed by the wind. 7 That person should not expect to receive anything from the Lord. (James. 1:6-7)
3. God has something better planned.