Vimal
I think you've answered your own question.
If you are looking for a more insightful reason, I fear it may not
exist. It's better than FFFF or 0000 which can occur during extreme
elecrical failures. 0xAAAA or 0x5555 are probably far more likely
during a failure than 0xAA55 or 0x55AA
That's basically the whole point to it. Since 55 is the direct binary
inversion to AA, it was the most sensible approach to detect a floating
bus and similar calamities in 8-bit systems. It is also the best way to
detect shorted data lines and so on. From its canonical usefulness at
the hardware programming level, "55AA" has found its way into more
abstract layers - Maybe because people thought: "If it's good enough for
a floating bus, it is good enough for anything!" ;-)