Step one: Compile with just VBSP and see what happens. The most common causes of long compiles are:
- Leaks, causing VRAD to drag on forever
- Overly complex geometry that hasn't been func_detailed, causing VVIS to drag on forever
Assuming your compile ends, look at the log for a line that reads "*** leaked ***". If you find one, hit Map > Load Pointfile. This will show a red line going from a random light source or prop through the gap in the world. Seal the gap and repeat step one until there are no more leaks.
At this point, hit Map > Load Portal File. This will show you how your map was broken up into chunks to be easier to digest. If it looks way too complex, you might have run into scenario B and you'll need to employ
func_detail. (That picture of the blue lines going around the cylinder is a good example of what to look out for.) During this process, you can check whether you got all the trim brushes by going to the Visibility Groups panel on the right and hiding all the details. (Just remember to un-hide anything you hid before compiling again, since hidden objects will be left out during the compile as well!)
This stuff can happen to anyone. Just last night I found myself with a stupidly-long VVIS due to me forgetting that blockbullets brushes aren't automatically considered detail.