Anybody know what the difference between Virtual Z and Physical Z are?
A virtual Z is a book-keeping trick that changes the rotation axis of later gates.
When you're writing an algorithm, you tend to want as few operations as possible so you'd prefer a virtual Z. When you're doing a physics experiment, or trying to decouple from slowly-varying noise, you tend to want to actually affect the system and so would prefer a physical Z.