Design Options > small scope changes
When you are creating a design option for an element, anything hosted or affected by that element must also be addressed by each option. So if you are creating 3 design options for a roof, any skylights hosted in that roof have to be addressed in 3 different options. If the change to the roof affects the way a wall connects to the roof, then that wall and anything hosted by that wall has to be part of each option.
So Design Options are effective for small scale changes, but can end up bloating file sizes and creating a lot of work for changes of a larger scope.
Phases > larger scope changes
Phases are not limited to the default "New" and "Existing Construction." They can be used in a similar way to Design Options to show multiple larger scale options. Phase Filters allow you to control the visibility of phases. This is a little more complex to set up than Design Options but can save on the amount of duplicated work.
Multiple Linked Models > large scope changes
If a large portion of the model is changing in each option or you are evaluating different schemes, using multiple linked models may be a better solution. Linking the models allows you to set up side-by-side comparisons easily. Each option is a separate file, so the changes in one will not affect the other. This is only a good option to use when the overall design is still very schematic and large scale changes are happening that need to be evaluated against each other.