With onion-routing a relay in a circuit only knows its predecessor and its successor, while a "normal" proxy is just one hop, so that it knows who connects to it and where it has to connect to.
Wouldn't it be sufficient enough, from the anonymity point-of-view, to have just two hops, guard and exit? The Guard knows where the request is coming from and the exit where it is going to.
Why does Tor use three hops, instead of two?