Per above, the big three are TrainerRoad, Zwift, and The Sufferferst. Each has things they are best at.
- TrainerRoad - structured plans for about any type of event and distance
- Zwift - Gamification of traning activities
- The Sufferfest - Killer workouts optimized around a more discrete understanding of your power
There are dozens more, including the Wahoo app. Pick the one that matches you and your preferences, not the one that someone else may argue is the "best." For example, my favorite is TrainerRoad, because I like the long view of workouts and the structure. However, the UI is totally lame. But, I watch Netflix, so I do not care. Zwift people absolutely love the UI and virtual competitions against other riders. That motivates them to be on the bike.