I think there's a few problems with that.
First, consumers are already hard-wired to detest shipping fees. As a result, retailers will often simply add the shipping cost to the sticker price (or a reasonable estimation). On some items they lose a little, and on some items they get a little back. Doing this has its merits. One of them is that it greatly simplifies your shipping logistics. For complex catalogs composed of highly variable item dimensions, this is a god send. On the other hand, it does tend to limit you in what shipping options you offer customers.
Another thing is simply that USPS is late to the game. USP and FedEx have been operating their APIs successfully for quite awhile. They are integrated in many software packages already. USPS also has an API, but it I find it is less commonly integrated into various software tools. This leaves retailers with a series of tools, all of which support UPS or FedEx while a couple of the tools don't have USPS functionality. These tools are usually legacy and are just not practical to update.
On top of all this is the fact that APIs change over time and the service you used yesterday might not work today. In the past I have accessed several of USPS' APIs with little more than signing up for a key. Now, however, when I have gone to get new keys for the very same thing, I am rejected for one nebulous reason or another.