Another reason for unanswered prayer is that it may not be in God's will for your life. When I was in Bible College I had planned out my entire future. God had a better plan for my life than the one I had, so He did not answer those prayers. He had a better plan, He did not want me to settle for second best.
Another reason is that answering it would not bring God glory. There are times that we ask for things that are selfish or that would make us look better to others. God will not answer those prayers either. He wants to see us grow stronger and mold our character, this will not happen if God gives us everything we ask for. Do parents give children everything they ask for? If they do the child becomes spoiled and as they leave home they expect everyone else to give them everything they need; however, when a parent says no to their child for their best then the child is taught how to be responsible with finances, and learns what is important in life.
If what you are praying for lines up with God's will for your life, it just may not be the right timing and just persevere. Abraham waited 25 years before he received a son, which God had promised him. Abraham tried to do it his own way, and had to change to be ready to receive the answer, and God received all the glory because Isaac was born to him and Sarah when they were well past the age of child bearing. Never give up!