The difference is explained in a few words.
If you insert a plugin the latency compensation happens automatically to keep everything properly time alligned. Great feature, it’s in Cubase since almost forever (SX2).
If you just bypass the plugin, audio passes through unprocessed but the latency compensation still takes place. That enables the user to automate the bypass state of a plugin without interrupting the audio stream by the price of adding the plugin latency to the latency/buffer size of your asio driver. No problem in mixing situations unless you add plenty of latency monsters and the whole project starts to feel sluggy (which means all will work perfectly but the user experience isn’t too snappy anymore).
If you disable the plugin it’s completely out of the equation. You’ll get an interruption of the audio stream by disabling it because the latency compensation gets reverted in that moment. The complete project latency gets reduced by the specific latency value of the plugin and gets snappier by exact that value.
There’s a ‘constrain delay compensation’ button top left of the project window (if hidden make it visible). That function checks for plugins that produce a lot of latency and dis-/re-enables them by pressing the button. Your project will sound different of course but you can play your VSTis or amp sims with less latency - once recording is done it’s just a single click to get back to normal.
Another strategy is direct monitoring through your interface (depending on what you use). Solutions like UA’s Apollo series especially adress situations like recording with plugins that normally produce a lot of latency by outsourcing them to the interface’s dedicated processing power.