$20, $30, or even much more is actually fairly reasonable in the right circumstances if you do the maths. If you are fully stocking a decent sized tank, the shipping costs get distributed over many fish (it costs about the same to send 1 fish as 30 fish). Also, online fish sellers often carry a larger variety of far superior stock to what is available at your average LFS, at lower prices. Sure, if you need a couple of guppies, the LFS is obviously the best choice. But between the fish and shipping costs, I ended up paying about the same price to stock my 75g as I would have if I could have found the fish locally, which I couldn't.
Just wanted to explain the economics.