What is the difference between the grave and Hades? Do not be amazed at this, for a time is coming when all who are in their graves will hear his voice and come out those who have done good will rise to live, and those who have done evil will rise to be condemned. (John 5:28-29, NIV)
The sea gave up the dead that were in it, and death and Hades gave up the dead that were in them, and each person was judged according to what he had done. (Revelation 20:13 NIV)
You did not ask, "What is the meaning of 'the grave'?" or "What is Hades?", so I won't answer those questions.

Simple answer: the difference between "the grave" and "Hades" depends on what translation of the Bible you are reading. In the NIV, there is usually no difference between "the grave" and "Hades". It seems that the NIV mostly uses "the grave" in the Old Testament, and mostly Hades in the New Testament; in both testaments, it often uses "the realm of the dead", but these three refer to the same thing.

The NIV regularly translates the Hebrew word sheol as "the grave".
Here's a page that lists all NIV translations of the Hebrew sheol: http://www.blueletterbible.org/lang/lexicon/lexicon.cfm?Strongs=H7585&amp;t=NIV (click the links for "Continued Search Results" for more results). In contrast, the NIV normally transliterates the Greek word hades as "Hades", though it sometimes renders it as "the realm of the dead": http://www.blueletterbible.org/lang/lexicon/lexicon.cfm?Strongs=G86&amp;t=NIV. However, these two words are the same, as is seen in the fact that the Septuagint translates sheol as hades. (The Septuagint is the Greek translation of the Old Testament that the New Testament normally quotes from.) As I mentioned, in both testaments it often renders either word as "the realm of the dead".

For the verses that you quoted, please note that in the NIV, "the grave" is different from just "grave" or "graves". In particular, "the grave" as a translation of Sheol/Hades seems to occur only in the Old Testament; in the New Testament, the NIV mostly uses Hades. "Graves" in John 5:28-29 is from a completely different Greek word (mnēmeion), which is often translated as "tomb": http://www.blueletterbible.org/lang/lexicon/lexicon.cfm?Strongs=G3419&amp;t=NIV. It should be understood as grave or tomb in the literal, physical sense.

A side note: if you want to do word studies like this, I recommend that you not use the NIV. Although it is quite readable, it is very inconsistent and often inaccurate. Rather, I recommend more literal yet highly readable translations like the Recovery Version and the New King James Version. I say this from my personal experience. My first five years as a Christian I used the NIV almost exclusively, but the more I got into word studies with interlinear Bibles and Greek and Hebrew, the more I realized how inaccurate and inconsistent the NIV was. I eventually dropped it completely. (And the TNIV which came later is in fact much worse than the original NIV.)