Lowering pH is possible by three major methods:
1) Peat moss. The effect from this is real, but it requires frequent changing and rather large quantities of peat moss compared to other methods. Like you said, it adds tannins, but many people find the subtle coloration to be desirable.
2) RO filtration. Since pH is really a function of buffering capacity, lowering it requires a reduction in the carbonate hardness of the water. The most practical way to do this is to use an RO unit to remove dissolved salts (including carbonate). When the KH drops, pH follows. Distilled water can be used too, but it's a bit impractical for anything larger than a nano tank.
3) Addition of a strong acid (HCl, H2SO4, HNO3) will effectively "consume" buffering capacity, lowering KH and therefore pH. This method is perfectly effective, but in actual practice dealing with strong acids is dangerous and prone to rather grave errors over the long run.
CO2 addition will also drop pH, but the effect is "artificial" in a sense. Provided you keep the CO2 levels in a safe range, as far as fish and inverts are concerned, it's really the buffering capacity (KH) that affects them biologically.