Substrate needs to be selected based upon the intended inhabitants of the aquarium. Obviously plants factor in to this, but fish do even moreso. If you intend substrate-level fish like cories, most catfish in general, and smaller cichlids, you want sand. If you have or intend none of these fish, but had a tank of say upper-level livebearers, a gravel could work. Plants don't care much, provided the gravel (if selected|) is not too large a grain size. This also affects the important biological processes involving the decomposition of organics in the substrate too, so here sand is better. Generally speaking, sand is the best overall substrate.
You can buy aquarium sand, but it is very expensive. I use common play sand in all my tanks. Fish have no issues, nor do plants, and it maintains a healthy substrate.
As for the amount, here again plants enter the picture. Without substrate-rooted plants, you could aim for say 1 or 1.5 inch depth when the sand is even across the tank floor. You can aquascape it higher at the back and lower at the front. If you have substrate-rooted plants with extensive root systems, like swords, you might want a 2-inch depth overall. I've no idea of the relationship of sand volume to tank size, but a 25kg bag of play sand should be all you need. A bit left over is nice for touch-ups.