I've graduated from using a stationary bike, to a hydraulic trainer, to a hydraulic trainer with Zwift, to a smart trainer with Zwift and I can honestly say that the final combination is the only one that has held my attention. The reason is that any of the other methods either were not visually engaging or allowed you to "dog it" during the workout. The combination of Zwift plus the smart trainer gives you the visual stimulation, feedback and data to allow, what I consider to be, an acceptable substitute when it's too crappy to ride outside. Don't cheap out on a dumb trainer like I did at first! A smart trainer will keep your workouts honest. With a dumb trainer, if you go up a hill and don't increase your power output, your zwift character will slow down considerably but will continue to climb. With a smart trainer, if you don't put forth the required effort, you stop cold and do not get up the hill just like in real life...
Tire on trainer is your bang for the buck in my opinion. I have a Cycleops Magnus which you can find on sale for $500 pretty regularly. It can generate up to 1500w of training load which is more than most will ever use...