In general, aquasoil > fine gravel > coarse sand > coarse gravel > fine sand.
Aquasoils have high cation exchange capacity (CEC), which is basically the ability of the substrate to hold on to nutrients and make them available to plants. Aquasoils also have a perfect porosity for healthy plants. Topsoil also has high CEC, but it can be messy when moving plants around and needs to be capped with another substrate.
Structurally, your substrate needs to be both porous and supportive. Fine sands are not porous, they don't allow the roots of plants to breathe and you will end up with poor root development. Coarse gravels sometimes don't provide enough support, the gaps between the rocks don't allow the plant to root securely. Coarse gravels can also let root tabs bleed their nutrients in to the water column a bit too readily, rather than keeping it in the root zone.
Coarse sands and fine gravels are the best inert substrates. Examples of these would be Seachem Flourite, Caribsea Peace River Gravel, Black Diamond Blasting Abrasive (medium) and HTH Pool Filter Sand. They are fine enough to retain substrate nutrients, but coarse enough to allow root development. Note that they will not start out with any CEC or nutrients. Aquarium Co-op's root tabs include clay, which increases the CEC of your substrate. It's the best root tab choice for inert substrates.