Why aren't my three-way switches working?
This sounds like one of the traveler wires failed open.  To troubleshoot:


Turn the circuit off, of course!
Take a continuity tester, and attach a long piece of wire (as long as the stairs) to one of the probes.
Attach the other end of the long piece of wire to one of the travelers (black wires) at the upstairs box.
Probe the black wires in the downstairs box with your continuity tester -- one of them should have continuity.
Repeat steps 3 and 4 for the other traveler in the upstairs box.


Once you verify that it's a broken traveler...you can either:


Reuse an intact white wire between the two switches as a traveler by disconnecting it from the neutral junctions at both ends and rewire it in place of the faulty traveler and tagging it black or red with paint or tape at both ends.
If you don't have two white wires running between the two switch boxes, or if your wiring is in conduit, you'll have to pull new wire for the traveler -- either a new wire through the conduit after fishing out the broken traveler, or a /3 cable of the same type and gauge as the existing cables if there simply isn't a wire to repurpose.