Ok, I get it all now, except for one thing. Since .byte simply adds data in the program, (Ex. .byte 12 simply inserts 12 into the memory address where the program currently is, if that makes sense) and .hex looks like it does the same thing, does the byte of hex you put in the program get executed?
Consider the following.
LDA #$03 ; Let's say the hexadecimal equivalent of LDA #$03 is A9 03.
Could I do this to reach the same end?
.hex A9 03
Either way it is quite weird, because the first 1000 lines or so of Zelda's source code are .hex ff ff ff.
But the disassembler does put a comment of invalid opcode, just to throw information out there.