In reply to le_NOIRE2000:
Yes, the monitor samples the inputs to the DUT. This way is preferred for a couple of reasons.
First, there is no guarantee that the generated stimulus actually arrives at the DUT until the motor see it. This serves as an extra check depending on how complicated your stimulus generation is.
The idea behind the active/passive agent promotes re-use at multiple levels. If you are doing unit/block-level testing, you want to be able to switch between testbench generated stimulus and stimulus coming from another RTL. Having the monitor separate lets you have a passive agent that only monitors and does not depend on have the stimulus generator/driver active.