When you intersect one set of geometry with another, sketchup has to test each face in one set for intersection with every face in the other set. So, the amount of computation grows as the product of the number of faces in the sets. Anything you can do to reduce the amount of geometry involved will dramatically reduce the computation time.
Intersect with model checks your selection against everything in the model, much of which is too far away to have any possible intersections. It’s easy but very inefficient.
Intersect with context limits the test to the currently open group or component, which has the dual benefit of reducing the amount of geometry and excluding nearby or even overlapping faces that are outside the group.
Intersect with selection gives you the finest level of control because it not only stays within context (you can only select entities in the current context), it also ignores anything you haven’t selected.