One of the reasons is that most distributors have a set charge for anything under 2 lbs. What we do is charge what it takes to get the package anywhere in the US. In some cases, by the time we have boxed and packed a small order, labeled it to ship and take it to the PO, we have a lot more than just the cost of the postage into it. Our shipping person makes $14 an hour, so if it takes us 15 minutes to get it ready, the package has cost us $3.50 in wages, not to mention the cost of the box, the packing material, and the gas to take it to the PO. Almost every package that is shipped has cost us $4 without the postage included. When we ship via UPS or FedEX, they pick it up, but the rest of the cost is still the same.
In a few cases we may make a dollar or two on small packages, but for the most part our cost to ship is greater than the charges. We have set amounts for shipping and handling based on the size of the order. These charges are factored in that way to keep it simple.
The other thing that people are not aware of is that if you have UPS packages that are being shipped to a residence as opposed to a business, we will pay $2-4 more for the residential delivery. On small orders we sometimes lose money because the shipping cost is higher than what we made on the product being shipped.
Another good reason for using UPS or FedEX is that many business's don't have daily mail delivery. What it boils down to is that UPS is easier, we can track an order, and they pick up twice a day. When someone needs needles we get them out the same day via UPS... as long as the order is in by 3:00. If we had to go to the PO we wouldn't be able to offer same day shipping.