The US Postal Service raised its rates recently citing, as it usually does, that it needed to remain competitive. Unless they make some changes, they will never be competitive.
When you look at UPS and FedEx, they have services for same day, overnight early delivery (by 8:00 am), overnight standard delivery (by 10:30 am), overnight by 3:00 pm, 2-day, 3-day and ground. At most, ground shipping takes 5 days within the continental United States. Let's compare this to the USPS.
The USPS has overnight delivery via Express Mail. Delivery is guaranteed by noon. That's it. One size fits all.
Want it there in two days? Well, you could try Priority Mail but the USPS says it will be "delivered in an average of 2-3 days." With no guaranteed delivery times.
What if transit and delivery times are not critical? The USPS has Parcel Post. It is certainly cheap but there are no well publicized transit times. I think I saw somewhere that it can be up to nine days.
The problem is that the Postal Service makes no firm commitments. Where UPS and FedEx say "we can have it there tomorrow. Would you like it there by 8am, 10:30 or anytime before 3:00pm?" the USPS says, "We'll get it there tomorrow." Where UPS and FedEx say "We can have it there in two days." the USPS says "We'll get it there in two days... maybe three."
Even if they did make guarantees, their tracking system lacks any sort of immediacy to make it worthwhile. Every time I have tried to track a package on USPS, the information is at least 24 hours behind. I have had packages delivered before the USPS even noted that it had arrived at my local station. With UPS and Fedex, the package gets scanned and the information updated every time a human interacts with the package. You know exactly where your package is.
If the US Postal Service wants to compete with these companies and survive, maybe they need to take a hard look at their business model and compare it to the business models of their competitors. Yes, they have better rates but if I need it there in two days, I need to know it will be there in two days.