My recommendation is “natural” aquarium gravel, such as the picture above. The cream through brown varied color hides accumulated detritus and feces. Mono-colored substrate such white gravel simply look really bad when fish poop, which is something fish do ALL the time.
Small gravel, such as the 3-millimeter colored gravel sold in most aquarium stores, works reasonably well as an aquarium substrate. Anything over 4 millimeter (3/16ths inch) can start trapping food. Note that a mix of three to six millimeter gravel such as most modern aquarium gravels is just fine as the small particles fill the voids in the larger particles.
Small gravel does increase the bioload somewhat (maybe very roughly + 5% to 10%) by trapping some food particles. But it doesn’t produce abrasive particles. Note that some cheaper aquarium gravels which are epoxy coated will flake off the epoxy coating in time, something which is very undesirable. White on black spotted gravel really looks bad.
Larger gravels such as pea gravel are simply bad for any aquarium. When fish are fed a small proportion of the food drops to the bottom of the aquarium. In most aquariums the food will simply lie exposed on the bottom where the fish can still get to it and eat it. With large gravel the fish can’t get to this uneaten food, it decomposes, and it creates an increased bio-load in the aquarium. I won’t use pea gravel or large decorative gravel. And don’t get me started on using marbles in the aquarium.
I never mix gravel which is very light or white with gravel that is dark. The resulting “salt and pepper” look is very unnatural. It looks like a lot of feces on the bottom of the aquarium. But then some like this aesthetic! I prefer small mixed brown gravel (light brown, medium brown and dark brown mixed together or just the “natural” aquarium gravel one can buy) and a natural look to the aquarium. Of course, some people and children prefer the psychedelic pink look to the gravel. To each his own.
Of course, 3 to 6 millimeter “aquarium gravel” is the best gravel for an undergravel filter and works well in an undergravel filter. I have had great success with undergravel filters and have them in all 16 of my tanks.
One very misunderstood topic is using a gravel vacuum. The brown mulm which forms down in the gravel is neither good or bad. It adds a little to the bioload of the aquarium water. But it also does some very limited biofiltration. And by “biofiltration” we mean both the action of “beneficial bacteria” (more properly termed “nitrifying bacteria”) and all the other beneficial organisms found in brown mulm. So the negatives and positives pretty much weigh each other out.
But a brown mulm above the gravel is a different matter. If bottom feeding fish like corydoras can swim through the mulm it is decidedly detrimental. One constantly sees “My corydoras lost their barbels. What happened?” on social media. When they post a photo the aquarium almost always has a brown mulm visible above the substrate. This mulm must be prevented. Prevention is best done by circulating the water in the aquarium in such a way as to sweep the mulm up into the filter.
Oil Absorbent and Kitty litter
Aquarium gravel has gotten quite expensive. Two very real alternatives which are a WHOLE lot cheaper are the various sintered clay products used for Kitty Litter (typically light gray color) and oil absorbents (shades of rusty brown). These are very attractive as a substrate, especially the rust colored oil absorbents.
The oil absorbent and kitty litter can also be used in something like a canister filter. They will have the same filtration capacity as aquarium gravel (i.e. moderate). For the price, it cannot be beat. Note this price varies considerably by country.