I want to go from Venice in Italy to Rijeka or Pula in Croatia, by public transport, without flying (so train, bus, boat or a combination). The transport options will determine my choice of destination. What are the different (reasonable) ways to make that trip? Where can I get all the needed information (prices, times, etc.)?
One way to do that is using the high speed ferry Venezia Lines. The sites has all the informations you need, from schedules to prices. It has a connection from Venezia to Pula and the trip takes about 3h 15mins.
There are also buses running from Venezia (Mestre) to Pula:
PADOVA - MESTRE (Venice)- TRIESTE - PULA
13.00 13.45 14.00 16.15 19.00 Price of one-way ticket Trieste - 100 kn, Mestre 187,30 kn, Padova 213,30 kn
Venice to Pula can be done in several ways:
Bus to/from Pula: http://www.pulainfo.hr/en/prijevoz/bus/54/ There are direct buses, and buses that only go as far as Trieste, but Venice - Trieste is easily done by train. In Trieste the bus station is next to the train station. Bus station website: http://www.autostazionetrieste.it/ There are also to Rijeka from there. Train Venice to Trieste: http://www.trenitalia.com
To Rijeka you can also go by train, but that involves getting from Gorizia Central to Nova Gorica. (best take a taxi). However, Nova Gorica is an intersting station, as the border between Italy and Slovenia runs right through the middle of the square in front of the terminal building. See http://www.bahn.de for schedules.
Another option is by ferry to some place on the Istrian coast, and then by bus. However most ferries from Venice to Istria are operated by tour operators offering day trips to Venice to tourists vacationing in Istria. They thus go to Venice in the morning, and return in the evening, often to late for onward travel. I travelled that route in 2003, and stayed onvernight in Rovinj before travelling onward to Pula. The ferry I had found by just walking up to the Stazione Marittime San Basileo and asking. (I did have the bus as plan B).
I second @geeo's proposal. Ferry is by far the most convenient option.
As an alternative, you can go by train from Venice to Trieste in roughly 2 hours. Trains run quite frequently. From Trieste you can take a bus to Rijeka. Another 2 hours and something. It's longer than the ferry but you won't get seasick. The total price will be at least 20 Euros.