An impedance analyzer is for measuring impedances, which you could call AC resistance as inductors and capacitors act like resistors with phase shifts at AC. They can be handy for testing filters and finding the ESR and ESL of all kinds of components. Many impedance analysers are used for frequencies much lower than VNAs, but will usually give you more fidelity in the measurements. You'd need a pretty expensive VNA to give you impedance information a few Hz to a few kHz, but this range is easy for an impedance analyser. A good impedance analyser will probably also give you twice as many significant digits worth of precision. It's a different tool for different applications.
A spectrum analyser is a tool for graphically displaying the frequencies in a signal, it's exactly like the graphic equalizer displays found on some HiFi systems except it operates into the GHz regions. It shows frequency content, if you fed it a 1GHz and a 2GHz signal, you'd get two peaks at 1 & 2GHz. A spectrum analyser on it's own won't give you any impedance or S-parameter information, you need both a phase sensitive spectrum analyser (not all of them can measure phase) and suitable tracking generator to create the test frequencies, at which point you've got yourself a VNA anyway.
A VNA is a combination of the two (which makes it far more useful than either one alone), it can not only display frequency content but plot how impedance and phase change with frequency. VNAs usually have a slew of other more advanced functions for doing all kinds of sophisticated RF magic.
N.B. A VNA should not be confused with a straight "Network Analyser" which is a tool for analysing computer networks - Although sometimes people refer to VNAs as just 'network analysers', only the VNAs will have coaxial connectors on their front panels.