Just came back from Stresa. No, you do not need to buy tickets in advance. We used two different ferry services. On the day we toured the Borromean Islands, we used Stresa Tours (aka CMA Group) and bought the tickets that morning on the docks. They're located just to the left of the main ferry terminal. Prices were comparable (maybe less) and service was quicker. Would recommend for the islands.
On the other day we visited Eremo di Santa Caterina del Sasso and Funivia del Lago Maggiore in Laveno, we used the regular ferry service. Easy purchase that morning at the docks.
I don't think you need to book a specific tour, per se. Just get on the water and let the scenery do the talking.