Why do the Cyrillic 'Z'(З) and the number '3' seem to be the same glyph? Is there a difference that I'm just not seeing? They look identical to me
The two are unrelated.
The letter З developed from the Greek letter zeta (Ζ), through an intermediate form with a tail (Ꙁ). This shape got simplified in handwriting until it became the modern form.
The number 3 developed from a Brahmi glyph with three lines, similar to Chinese 三. In cursive writing, this evolved into a modern 3 so that it could be written in a single stroke.
Draconis explained the origin, but I'll go into another aspect of your question: For practical purposes, yes, it is the same glyph. Native Cyrillic speakers will frequently write the same shape for both when writing by hand, and while I suppose computer fonts have to have a separate glyph for both, I wouldn't be surprised if many font designers copy-paste their design between the two. Even when the design in a font is different, I believe that the average native Cyrillic-written-language speaker will not be able to recognize the difference between the two glyphs if they are shown out of context.
This lack of distinction is so ingrained, it led to amusing situations like frequently hearing people talk about the "Em-pe-ze file format" in the late nineties (I never found out why it wasn't "Em-er-ze", which would have been a more logical mistake to make).
So in general, the glyphs are the same, or perceived as the same. But there are exceptions in some situations.
- In some handwritings, especially Russian cursive writing, the lowercase letter will have a long tail, like a Latin handwritten "y". Nobody would write the number that way.
- "Old style" typefaces in Western traditions have numbers which are not aligned with the text glyphs. I am not sure if this was historically used in typography in the Cyrillic writing countries, but nowadays, there are fonts of this style which have Cyrillic letters. Then the number is dislpayed in this style, but the letter is displayed with the other letters.
- If somebody creates a typeface that tries to emulate the archaic look of the Cyrillic alphabet, both the letter and the number start looking quite different. How different they are are up to the designer; in EvangelieUCS, the numbers become practically unrecognizable, while in Monah OCS they look pretty normal.
BTW, this similarity was confusing people in XX century, so they agreed to change the number 3 glyph to slightly differ from the letter. This difference is still maintined in the technical documentation in Russia, as reflected in the GOST standard 2.304-81 note the last glyph of the first two lines - it specifically highlights the number 3:
Beside the valid answers given earlier, one more practical point to consider is that mechanical typewriters in USSR (at least the one we had) did not have two separate keys for these, so save some space on mechanics and complexity I guess. So when you needed a "three", you typed "capital Z" and that was it. Surely, in that case the glyphs were identical ;) Elsewhere, a zero and capital O could suffer similarly.
There was also a practice of typing roman numbers with Cyrillic letters, which looks strange to uninitiated, e.g.:
- I - 1
- II - П
- III - Ш
- V - У
- X - Х
which led to a number of misinterpretations sometimes.
Rare characters like "L" (roman 50) could be retouched from "1" with a pencil after typing.
More examples of that can be seen e.g. in discussion at https://www.multitran.com/c/m.exe?a=4&MessNum=282414&l1=1&l2=2