I've worked in shops and I know that "Shop Fees" are charged to cover the rags, chemicals, insurance, heat, secretarial, and just about every other miscellaneous cost that comes up in the day-to-day world cost of running an auto repair business.
I will also admit that there is a big double standard in the industry. To everybody here who is in favor of the shop fee, would you stick up for your favorite hamburger joint that charges fees added to your meal? We'd be talking additional dish soap fees, unloading of the delivery truck fees, washing window fees, napkin fees, catsup/mustard fees, etc. The same could be said about any other business that tacks on multiple miscellaneous fees.
I'm in favor of just raising the labor charge, doing the job correctly, and have the customer whine only one time instead of telling the whole world about the high "shop fees" months after the repair has been completed.