OK. Here we go...
You build a caravan and pick a commodity (we'll leave out Food)
When that commodity is delivered to another city you get a Bonus that is dependent on a number of factors including distance between cities, different/same continent, same/foreign civ, freight/caravan, whether certain techs have been researched so far, or whether there are Superhighways or Airports in the cities. Note that the message says the bonus is Gold, but you
ALSO get a bonus in science beakers that is (with some exceptions) equal to the stated gold bonus.
When the commodity is delivered, a trade route is established in BOTH cities. This route gives each city extra trade arrows. The amount of arrows depends on the "native" trade in the cities, same/foreign civ, existence or roads/RR *on certain routes* between the cities, superhighways, etc.
Once you select a commodity for a caravan, the city can not produce another caravan of that commodity. However, the game will frequently change the commodities available and will under certain circumstances "free up" production of previously delivered commodities. Commodities demanded by cities also change (for me it seems to happen right before I am about to deliver a bunch of caravans

)
As long as you are allowed to select a commodity, you can create as many of these trade caravans as you want from any city. However a city will get the ongoing trade route (the extra arrows) from no more than THREE routes at any one time.
You can deliver the caravans to any city and still get the delivery bonus, but that city will still only get the benefit of three trade routes at one time. There are circumstances where the new route will replace one of the old routes, but I'm not sure how that is determined.
How's that for a start?