FWIW Garner classifies this error as "stage 1" (rejected) in a recent edition, so we're still safe for a while, at least in professional writing. However, I do see this mistake more often than I see either word used correctly in non-professional Web writing, to include much work that is paid, but neither written nor edited at anything like a professional level.
Garner attributes the error—among pros, anyway—to closeness to "leery". I'd guess it's more often just bad phonemic awareness when committed by the general public, though.
These two aren't homophones, but (in American English, anyway) "weary" does sound like "weird" rather than like "wear", while "wary" sounds like "wear" but not like "war", so it's kind of worse.
Edit: wary not weary lol