Charges are "stayed" when a judge or a Crown decides that it would be bad for the justice system for the case to continue. This means the issue of guilt or innocence is never determined.
Stays can be granted when the state has acted unfairly, including a failure to bring the case to trial in a timely manner. A judicial stay brings the case to an end.
A different type of "stay" is done by the Crown. A Crown stay puts the case on hold. The Crown can bring the charges back before the court within 1 year of the date the charges were stayed. After a year has passed, the Crown cannot bring the stayed charges back before the court.