NetLogo is fun for toy agent-based simulation models. It includes visuals. For discrete event simulation, I recommend SimPy. If you like animations and you're willing to trade some personal info for free stuff, Simio has a free version that supports mixing discrete event and agent based simulation.
Edit: I realize I only answered about half of your question. I was in grad school when I did simulation modeling, this was about 5 years ago. I was working on modeling industrial processes. Simulation is great in that context because at a certain point queueing theory breaks down. I can't tell you how many talks I sat through that derived exciting conclusions from the assumption that all arrival processes are Markovian.
Edit: I realize I only answered about half of your question. I was in grad school when I did simulation modeling, this was about 5 years ago. I was working on modeling industrial processes. Simulation is great in that context because at a certain point queueing theory breaks down. I can't tell you how many talks I sat through that derived exciting conclusions from the assumption that all arrival processes are Markovian.