Part of the problem here is that most businesses today just reference "shipping" rather than "shipping & handling", which used to be the norm years ago. And because they just reference "shipping", people tend to look at the shipping cost printed on the outside of the package and complain that they're being ripped off.
As Art suggests, the reality of the situation is that there are a bunch of overhead costs associated with running a business, and to cover those overhead costs, you have to amortize them over either the product or the service. If you amortize the overhead costs over the products, then the products will appear too expensive relative to the competition when potential customers are doing quick price comparisons over the Internet. So to keep product prices comparable vis-a-vis the competition, most vendors amortize overhead costs over the service itself (i.e., shipping & handling).
Since it often takes the same amount of time to pick & pack small orders as it does large orders, the "shipping and handling costs" are typically allocated in two parts: (1) a fixed minimum cost per order to help cover overhead, and (2) a variable cost that is highly dependent on the distance and actual freight cost from the carrier to deliver the order to the customer.
The main problem is that most average customers don't understand the costs of running a business, and they tend to focus on the data that is immediately available to them (i.e., "shipping" cost).