The following info was provided by John Cochran, with permission to re-post here.
A 3-way switch is a SPDT switch.
A 4-way switch is a cross-connected DPDT switch.
I'll call the 3-connections on a 3-way switch A, B, and C.
I'll call the 4-connections on a 4-way switch A, B, C, and D.
On a 3-way switch, A is connected to either B or C depending on the switch
setting.
On a 4-way switch, A is connected to either C or D depending on the switch
setting. B is connected to either C or D (whenever one is NOT connected to
A at that moment.
First here is an example of a 3-way switch setup
Switch 1 Switch 2
+---+ +---+
Hot | B+-------+B | +------+ Neutral
----+A | | A+----+ Load +--------
| C+-------+C | +------+
+---+ +---+
Switch 1 will determine which connector (B or C) is hot.
Switch 2 will connect the load to either a hot or dead connector.
Now for an example of a 4-way switch setup
3-way 4-way 3-way
Switch 1 Switch 2 Switch 3
+---+ +---+ +---+
Hot | B+-----+A C+-----+B | +------+ Neutral
----+A | | | | A+----+ Load +--------
| C+-----+B D+-----+C | +------+
+---+ +---+ +---+
Switch 1 will make either connector B or C hot.
Switch 2 will pass the hot connector to either C or D.
Switch 3 will connected the load to the hot connector.
You may use as many 4-way switches as you want to and any switch will
either turn on or off the load.
Example:
3-way 4-way 4-way 3-way
Switch 1 Switch 2 Switch 3 Switch 4
+---+ +---+ +---+ +---+
Hot | B+-----+A C+-----+A C+-----+B | +------+ Neutral
----+A | | | | | | A+----+ Load +--------
| C+-----+B D+-----+B D+-----+C | +------+
+---+ +---+ +---+ +---+