"What is the difference between...?"
The word "grave" suggests "to dig" (think of "engrave"), so graves are under the ground. Any hole in the ground can be a grave.
A tomb is a structure which can be above ground or below it (the original word suggests that it's visible and above ground).