For me, Zwift helps remove excuses -- no need to worry about weather, temperature, the extra time of driving somewhere to ride (so I can avoid traffic). When I have a window of time, even at lunch (since I work from home) I can just jump on and go.
As for staying interested, I have a number of motivators: I'm a completionist so I enjoy getting badges for routes or challenges I haven't done. I race in a team league, have the Southern Illinois Zwifters group rides and crits on Thursdays, and join some triathletes from Mt Vernon on their group rides. I also do banded meetup rides with a friend in St. Louis -- she's at a different ability level but the banding keeps us together regardless of our respective effort.
I have a coach that assigns workouts in TrainingPeaks, which show up in Zwift (and on my Wahoo for outdoor rides, btw).
I also will throw on a show or movie to stream for longer rides.