John Doe is very generic, rolls off the tongue, and in colloquy is not easily mistaken for a known person, like "John Smith" might be (there was at least one very famous John Smith, and though that name is commonly equated with anonymity the usage is less formal). The John Doe name itself has a very long history; English records of anonymous or unknown persons being called John Doe date back to the 1300s.
The name "Roe" is also used, especially in court cases (most famously Roe v. Wade, where the petitioner, now known to be Norma McCorvey, requested anonymity as "Jane Roe" in the proceedings), and other English-speaking countries have developed other generic names (Joe Bloggs, Joe Smiles, etc).
More recently, besides John/Jane Doe, certain names have come to be associated with qualifying information regarding the anonymous person, where that might be of value; "Juan" and "Juanita" are sometimes used in medical or coroner's reports to indicate the person is of Hispanic descent, while "Precious Doe" or "Baby Doe" are used to indicate the person is an infant. This is more common in large urban areas where a hospital or coroner may be dealing with multiple notable unknown persons.