G4DiscreteProcess vs G4BiasingOperator?

Are there any distinct advantages/disadvantages between using a discrete process vs a biasing operator? Currently I am using a biasing operator for forcing collisions (similar to example GB02) and a discrete process for handling geometrical importance sampling. However, I noticed that example GB06 has importance sampling implemented using a biasing operator and am wondering if that is a better route.