I was just reading an article concerning a product trade and transports between countries and came through these words that made me wonder about their differences.
I disagree with @baquiano to some extent. For one thing, shipment can also refer to the goods themselves, as in
Such a shipment can be cargo when it is in transit. But it can still be a shipment even when it is no longer in transit.
So in that respect it differs from cargo. Once cargo is no longer in transit, it is no longer cargo.
Just for the record, my Webster's defines cargo as
and shipment as
Think of a shipment as something that is, was, or will be shipped. Think of cargo as something that is currently being shipped. And take shipped to mean "carried by some type of long-distance conveyance" (not limited to actual ships).
A shipment usually refers to the process of moving goods. It can be made by road, sea or air, since it represents a group of items that will be transported from one place to another once. If you receive a shipment of jeans, for example, it will have traveled at least a bit by ground.
Cargo usually refers to the goods themselves, independently if they are moved by ground, sea or air.
A shipment is generally referred to as a collection of goods which at some point will be, are currently, or have already been moved from one geographical location to another.
[Will Be]: The shipment will be sent out on Friday. [Are Currently]: The shipment is in transit to its final destination. [Have Already Been]: The shipment arrived yesterday.
Cargo has a possessive implication as in the cargo of a ship or a truck's cargo. A shipment is non-possessive and can generally span multiple shipment methods.
In many cases these terms may be used interchangeably. Shipments is most likely an older term which originally referred to products retrieved from a large cargo ship.