There are some legitimate reasons for this. Perhaps you were ordering high-volume items that had low inventory, and it was unclear when they populated the shipping estimate for you whether you'd be getting items currently in stock, or waiting on Amazon to first receive a shipment.
Additionally, there is little reason to commit to a delivery timeline that they cannot commit to. Prime 2-day delivery is not actually a guarantee, as far as I understand it (and in some places it is not 2-day, e.g. Hawaii, from what I've heard), but it is a much firmer commitment, because Prime members are paying a fee for improved service. Regardless of whether Prime delivery is guaranteed, Amazon has optimized much of its logistics chain around <=2-day delivery. So you may be reaping some benefits from that.
Finally, Amazon is almost definitely using the cheapest possible shipping option (unless you are opting to pay more for improved options). Just because the rate paid is low does not mean that carriers will purposefully slow down. Once those items are picked, the cheapest thing to do is to move them quickly. Regardless of shipping option, that package still incurs a cost everywhere it sits, and every time it moves. So it will be routed as efficiently as it can to you. Holding it is just accruing liability (more options for loss or damage). If you happen to be near the DC, or near to the shipping carrier's hub, it's likely you will get stuff very quickly, even if it is estimated at longer.
You may be seeing the worst-case estimate for cross-country shipment, but benefit from one or several of the things above.