Everyone - including the USPS - charges not only by weight, but by dimensional weight. Basically, if your 2lb item is 3' x 4' x 2' shipped, that's going to be mega expensive. FedEx and UPS are about the same. USPS can be slightly (and I mean very minimally) cheaper in some cases. Shipping outside of the Lower 48 is mega expensive (factor in at least another $100, if not more), and internationally - hoo boy.
Everyone has their own USPS/UPS/FedEx horror story. I'm lucky I have a great UPS Store near me that packages things up exceptionally - I always get comments on how well things are protected - and I generally ship bigger things like basses via UPS. A bass recently cost me $130 but was totally worth it when it got there safe and sound. YMMV of course, but no one is really a bargain for shipping. It's sad, but as both a seller and buyer you need to take that into account.
So very rarely these days do I include shipping in a price unless I know it won't be a lot. And don't get me started on amps ...