Charges can be stayed for a variety of reasons, but typically it all boils down to one of two things:
the Crown no longer has a "reasonable likelihood of conviction", or in other words, the Crown no longer thinks it can prove it's case "beyond a reasonable doubt"; and
the prosecution is no longer in the public interest.
There's an ongoing obligation on Crown Prosecutors to review these two factors throughout the course of a prosecution, particularly as new evidence becomes available. If at any time either of the two arises, the Crown is under an obligation to stay the charges.
That's exactly what happened in one of our recent cases. As the prosecution moved forward it became apparent that the evidence of certain witnesses was no longer available or admissible. When combined with new evidence from the employer regarding the steps it had taken in relation to the accident, the Crown rightfully determined that the first requirement of a "reasonable likelihood of prosecution" was no longer met, and stayed the charges against our client!