This may seem like a common sense answer. Most Christians would probably say "no" if you asked them this question. However, I recently heard a sermon where it was shown that there are in fact things that God cannot do, and things God doesn't know. This is in fact a good and encouraging thing, as we will explore below. I must give credit for the main ideas here to Pastor Jon Courson, as it was his sermon on Youtube [1] [2] [3] which contained these ideas, but I will go more in depth on each topic.
God can't lie
God has told us in the Bible that he cannot lie. In Titus 1:2, Titus says "God never tells a lie.". David also said to God in Psalm 119:160 "All you say can be trusted; your teachings are true and will last forever.". Hebrews 6:18 says "God cannot tell lies! And so his promises and vows are two things that can never be changed.". More evidence that God keeps his promises can be found all throughout the Old Testament in the promises God makes with various people such as Abraham and the Israelites. The examples are far too many to list. And because God has kept all these previous promises, then the promises he has made about the future will also be kept.
Even more, Jesus claims that he IS truth. He said "I am the way, the truth, and the life." (John 14:6). Since Jesus said "If you have seen me, you have seen the father." (John 14:9), then if Jesus says that he is truth, then God must also be truth. Truth is an inherent part of God's nature that He can't go against and can't change. God couldn't lie if He wanted to. As Christians, this is extremely comforting. If God can't lie, then we can trust everything He says and has promised to us. Our promise of salvation by believing in Jesus, and the promise that we will one day be resurrected and live forever with God is also true. We can trust the Bible because God told the writers what to say, so we don't have to doubt and try to guess what is true - it's all true! This is unbelievable in our current world. It seems there are lies everywhere to get you to support certain politicians, or to believe the media stories, or even to buy what is on the TV ads. So many people lie about everything, even those that we think should be trustworthy such as police, judges, presidents, and people we deal with everyday. God is the only one we can have complete trust in and be guaranteed that he will never lie to us.
God can't learn
This may seem strange to read, but it's true. The reason God can't learn is because there is nothing he doesn't already know. There are many examples of Jesus knowing things in advance and was never surprised by anything. John 2:25 says "No one had to tell him what people were like. He already knew.". He also knew everything about the Samaritan woman at the well in John 4:17-18. Jesus told his disciples many times that he would be arrested and crucified (John 12:33). He told them that one of the disciples would betray him (John 6:64 and 13:21). He told Peter that before the rooster crowed, Peter would deny knowing Jesus three times (John 13:38). This is very comforting, because it shows that God already knows exactly what we are like, and everything we have done and will do in the future. Nothing about us will surprise God, and he will never say "Oh, I didn't see that coming." or "Wow, I really never expected you to sin like that.". God still loves us even though he knows how our entire lives will go and all the mistakes we will ever make. There is no reason not to be open with God when you pray because he already knows what's on your mind and what is happening in your life.
Also, this is how God was able to tell all the prophets of the Old Testament the things that would happen in their times, and also the future prophecies about the end of the world in Isaiah and Revelation. God already knows how all of human history is going to go, and so he was able to tell the prophets to warn people about it. God knows how the future will happen, and he is not surprised by the news or the decisions the government makes. This is also comforting as we don't have to worry that the future is uncertain, and that God is out of control. God has told us that there will be disasters and wars, that there will be a world government and the Antichrist in the end times, etc. and so we don't have to worry when we see these events occurring.
God can't remember sins that he has forgiven
The verse which shows this is Hebrews 10:16 which says "When the time comes, I will make an agreement with them. I will write my laws on their minds and hearts. Then I will forget about their sins and no longer remember their evil deeds.". This is referring to the agreement made through Jesus' death on the cross. If we believe that Jesus was God, and that he died for our sins, then God promises that he will no longer remember our sins. God doesn't keep them all written down in heaven, waiting to pull them out and hold them against you when you mess up again. It says he completely forgets about the sins you've done! Romans 4:7 says: "Blessed are those whose sins are forgiven and whose evil deeds are forgotten. The Lord blesses people whose sins are erased from his book.". John says "the blood of His Son Jesus washes all our sins away" and "But if we confess our sins to God, He can always be trusted to forgive us and take our sins away." (1 John 1:7-9). Then it's as if you are completely innocent in God's eyes: your sins have been erased and forgotten and God will never remember them again.
There will still be consequences from the sin for you, and you will perhaps always feel guilty for what you've done, but you don't have to confess the same past sin over and over because God already forgave you for it the first time. If you say again "Oh God, I'm still so sorry for that time when I did ____ 5 years ago.", God might say "What was that again? I don't remember.", which is amazing. If you're forgiven, you don't have to worry about God ever thinking about that sin ever again. I find this promise is hard for me to accept, because we all remember what we have done wrong, but we must just accept with faith that we are forgiven. I found that I kept thinking of God as up in heaven with a big record of my sins somewhere, and even though He said that they are forgiven, I felt that if I did anything wrong again that God would pull out the record and say "Oh, this is the 15th time she's done that one... and look at all these others... that's too many to forgive.". But it's completely not true, and we can feel free of our sins from the moment we confess them the first time.
Conclusion
So it is really an amazing thing that God cannot do everything. He can't lie because it's not his nature, He can't learn because he already knows everything about everyone and about history, and He can't remember our sins when they are forgiven. Because of these three things, our God is unique when compared with all other religions and gods out there. It's an amazing thing for Christians to know that we can trust in a God who has these characteristics. It allows us to trust Him completely, to be certain we are fully loved, to be less afraid of the future, and to be confident that our sins are gone forever once forgiven. I hope these characteristics will encourage you to get closer to God, and to have more faith in who He is.
References:
[1] Youtube Video: God Vs. Allah (3 of 5)
[2] Youtube Video: God Vs. Allah (4 of 5)
[3] Youtube Video: God Vs. Allah (5 of 5)