For me so far, the choice usually boils down to what I want in terms of printing out the parts. Previous posts in the thread here do a great job explaining the difference in player vs section endpoints.
When it comes to playback, sometimes all I need are parts with the soloist getting the same part as his section mates. Little more than terms like Tutti, Solo, or Soli are required. I’ll often just use cross-fading or channel bouncing playing techniques on the same stave to go back and forth between solo and ensemble instruments.
Example: I have a string ensemble Tarantella piece here. It’s pretty simple in that there are sections where everyone that has the part plays (Tutti), and sections where only one player in each section plays (Solo). I only intend to print out Violin I, Violin II, Viola, Cello, and Bass parts. I elected to just use a single ensemble stave for each part, and inject playing techniques like Solo, Tutti, etc. By default, it all plays back with just the sectional string sounds.
Rather than using players (or a combination of players and ensemble), and multiple staves, I’ll just choose one, and layer up my soloist string sounds side by side in HALion with the section strings. I’ll have a CC assigned to cross-fade between the two (I can do it with a CC lane in Play tab, or set up expression map techniques to bounce between solo and section sounds).
Having HALion 6 at hand, I used Halion Symphonic content to craft my own expanded HSO String Presets for the SE Player…so bouncing between ensemble and solo sounds hosted on different layers of the same instrument slot are effortless. Using CC76 I can do a crossfade (or instant toggle if I need to keep voice count lower) between the two ‘layers’…
(I might share these presets someday if anyone out there is interested…they’re still a work in progress however, and I haven’t done any documentation on how to use them)
If you aren’t using instruments that allow this type of cross-fading then, you could also do it with a channel bounce in your virtual instrument via player techniques (Direction Type) and expression map entries. Some instruments might also allow simple instrument changes on a given channel with a simple Program Change event. The catch here, is that you’d need to duplicate your expression map entries to include variants of all your articulations and such including nodes like solo, tutti, etc.
Note, I started the practice way back with Dorico 1. Many tools and options have been added since then that are designed to give us quite a few more options in dealing with staves/parts/divisi/instrument changes/etc, but for many types of scores, I still find my old approach easy to implement and manage. For some types of scores, I find it’s rather efficient in keeping Dorico speedy and responsive (it’s not having to use memory and other resources to mange as many staves).