On and omega both write o, and Slavonic had no sound to distinguish them by. That should have made one of them redundant within a generation. Neither disappeared, and the reasons are worth setting out because they apply across the alphabet.
The first reason is arithmetic. On carries 70 and omega carries 800, and both numbers are needed. Removing either letter would have left a hole in the number series that nothing else could fill, so the numeral system alone was enough to preserve a letter no phonology required. The same argument protected fita, izhitsa, ksi and psi for centuries.
The second is Greek spelling. A very large part of the vocabulary of the church books is Greek, transliterated rather than translated, and a transliteration that preserves the Greek letters preserves the identity of the word. A reader who knows both scripts can see the Greek original through the Slavonic spelling, which matters for names, for technical theological terms and for anything that has to be recognisably the same word in two languages.
The third is convention hardening into competence. Once the distribution was fixed by rule rather than by sound, writing the right o became a mark of training, and a marker of training is defended by the people who have it.
All three arguments were still being made in the eighteenth and nineteenth centuries, when the reformers finally won in the civil alphabets and lost, permanently, in the church books.