Regarding Q2: why the rules say you only need to discard excess cargo when leaving port...
Imagine I have a ship - 3 cargo capacity.
Arrive with 2 Food and keep them on the ship as they are not in demand at this port. 3rd action, Port... buy goods,
... so I buy 2 sugar cargo cards.
I will not leave port as that was my last action.
In this case I am keeping both goods as I don't know what the other players will do, so I'm leaving my options open.
One possibility: Someone may sell banana in demand at a port and rid it of the demand token.
Second: I could use my first action on next turn to Port again (but this time only being able to pick 3 cards instead of 6)... but still, if you are playing with expansion (favours)... you could pick those 3 cards again and most likely will find a Banana or Sugar within 6 cards.
This takes advantage of the rules where you may hold on to many cargo cards while at port... just decide what to discard when leaving.
Rules pg 8:
If you "buy goods" in the same port two turns in a row,
you only draw 3 Cargo Cards.
While in port there is no limit to how many Cargo
Cards you may posses. However, once you leave port
you must discard any cards in excess of your ship's
current "Cargo" value.