The free P&P offers are a bit of a false economy (unless you're just buying a couple of packs of dry yeast). CML charge £4.75 for 500g of pale malt with "free" P&P!
More generally I believe most of the online homebrew shops (I tend to only use TMM now, but have ordered from most before) only use one carrier (aside from Royal Mail for smaller items, and not all do that) and their charges are in line with those contracts so I don't think it's a case that they're making a load of profit from their shipping policies.
We've all forgotten something off an order which will ruin a planned brewday, which is very annoying.