Douro cruise

I've been looking into the day cruises from Porto and have a few questions:

There are different websites that seem to offer the same thing, notably and Is there any difference other than one seems to be 5€ cheaper?

Also, there are cruises to either Regua or Pinhão. Is the bit between Regua and Pinhão worth it to book the longer cruise?

We would choose to take the ship first and return by train, unless there is a good reason to do it the other way around?

And any advice regarding these cruises would be welcome. It would be a long day so I don't want it to be a bad experience.