They all have their pros and cons.
Sand looks nice, but tends to be a pain to clean. Small amounts of sand will get sucked up into the gravel-vac for that reason it is my least favorite substrate (from my experience anyway) and I don't feel that it gets cleaned properly.
Crushed coral looks nice and is easy to clean, but raises your ph A LOT! It is not uncommon for crushed coral to raise ph to 9 or higher. You can always offset this by using driftwood, but this is a tedious business.
Common gravel can look nice and be easy to clean if you get the right stuff. It also does not affect your ph. For these reasons it is my favorite substrate.
They can all work it's just a matter of preference