Mind that simulations are just that: virtual simulations, models built -- hopefully -- to represent real systems, but inevitably falling hopelessly short of a complete description. That shortfall is what allows us to do anything at all, really. Otherwise the solution would take more computing power than we have right now!
So, two things:
1. It is up to you, the operator, to ensure that the model is representative of reality. Okay, you don't have much direct control over what's in an IC model, but if you have a choice, you need to select the most appropriate models to use. If you've omitted important elements, like equivalent inductors and capacitors (arising from the circuit physically taking up space -- signals do not travel instantaneously!), you may have problems!
2. Simulation is hard. Just, in general. The solver has to crunch a lot of numbers. Mostly, it crunches away, finds an absurd result, completely throws it away, and tries again (with higher precision). When it finds a suitable step, the process repeats. It is very easy to accidentally construct a circuit which is unstable to this approach. Really, it's astonishing that SPICE is able to solve anything at all, and that hang-ups look more accidental than anything!
If you find your transient simulation is seemingly stuck on a point in time, it's probably because it's lost, trying to find a smaller timestep (thus, a smaller change from the previous instant; hopefully, an easier problem to solve than a larger step, which already failed). But once the timestep is a small fraction of any time constant (and therefore, any presumable change) in the circuit, it's stuck and unlikely to find a way out.
Probably the most common way for stepping to fail is a singular matrix. This occurs when any node or pair branches share a quantity independent of the circuit around them. The simplest mistakes are schematic errors: series capacitors (the DC voltage on the node between them is floating == undefined!) and parallel inductors (the loop between them has an undefined current). LTSpice normally manages these by adding series resistors to inductors (unless otherwise specified), and parallel resistors (everywhere) to your model. But similar situations can arise dynamically, as circuit V/I vary with time and condition (because transistors, diodes, etc. are very nonlinear). It's much more complicated, but effectively looks like division by zero. You need to ensure your model doesn't exhibit these zeros. Usually by making it more realistic (series inductances to transistors, parallel capacitors, etc.).
Even if you have a pretty representative model, there's no guarantee; you can do a transient analysis with a sweep value, just varying a resistor somewhere perhaps. Several of the sweeps may simply freeze up in the middle. Sensitivity to initial conditions is a classic hallmark of chaotic systems. There doesn't need to be a reason at all for it to freeze, really; like I said, it's really quite remarkable it ever works at all...
Tim