ModelSim PE is very popular, and I have used it for years. It's debug capability is good enough and it is easy to use. You can start with the GUI and go to scripting. I have a few aquintances who have purchased simulators for other companies and all but one purchsed modelSim.
The documentation is pretty good, but one bit of tribal knowledge that I would like to pass along is the -t timescale option. When you are simulating Altera PLL's, you need to use -t 1ps to account for the format of how Altera specifies their PLL models. Also, functional simulation PLL models, last I checked, assume ideal outputs and don't actuall lock to your input clock. So, if you want to try slight clock variations of frequency, be aware a PLL model may quash that.