There are three (3) basic setups that Zwift supports, depending on your budget, equipment and expertise.
"Immersive" (Premium) setup: This setup is best used with a smart trainer that uses variable resistance. Your smart trainer will measure your power, speed and provide realistic resistance and can be controlled by Zwift itself.
"Flexible" setup: A manual or "dumb" trainer such as a fluid trainer or rollers, is paired up with a power meter on your bike. Zwift reads the power directly from your power meter but provides no resistance feedback to your trainer. This means your virtual rider or "avatar" in-game, will be climbing hills with a great amount of effort, since there is no direct feedback.
"Basic" setup: A manual trainer is paired with a speed sensor attached to your rear wheel or hub. Zwift uses the calculated size of your wheels and the reading from the speed sensor to estimate your power in watts. This is the setup you would use if you were just getting into Zwift or had a tight budget. There is no force feedback so your avatar's performance may not match your real world effort.
Feel free to choose the best one that fits your needs, and the space you intend to use it within!