Why would the pirate only take a little cargo when the ship is worth much more?
Because it's easier to fence the cargo than it is to fence the ship.
Yes, ship combat is expensive. A drive hit on a Free Trader would instantly bankrupt a Free Trader company, even if the pirate didn't take the ship...
And that's my fundamental point to it all. The "piracy campaign" is not really viable for play, especially as a random encounter, as it turns out to be potentially very lethal, either to the individual players, or their enterprise.
The idea of rolling a bunch of characters, hopping on the Free Trader, huckstering for passengers and filling the hold, only to have it, literally, destroyed due to a random space encounter, just doesn't seem to work.
Traveller character combat can be harsh enough. Many player come from a background like in D&D where combat is "low risk" and "solves problems". It's low risk enough to where combat is routine, if not sought after.
Traveller character combat is a step above that due to how dangerous it all is, but star ship combat is off the charts. It can't be "random, and casual" as the consequences are far too high.
Now maybe that's high time for the game ref to dash the players hopes and make them potentially destitute in the first hour of the gaming session. If that was the plan all along, that'd be fine. But, for a casual encounter, it may well not have been the plan the entire time.
"We started out as a merry band looking for adventure, now we're skimming the yellow pages for a bankruptcy attorney. High adventure indeed."
"So, your ship is where?" "Well, it was between here and the first moon, but it's on a vector outsystem with no power. We can find it, but I couldn't say precisely right now, where it is."
Them of course, imagine the players working it all out, salvaging the vessel, getting it repaired, loaded up and ready to go...and it happens again.