EDO and SDRAM are entirely different standards. SDRAM is supposed to be kept in sync with the CPU (but in modern systems is actually synced with the northbridge) in order to keep track of it's updates.
If I understand what I've read correctly, with EDO you send a request to the ram and it replies when it's ready 70 or so nanoseconds later, then you make your next request. With sdram you send a request and wait 3 clocks and send another request. It still takes 70ns to get the data but every 3 clocks (for cas3) you can make your next request. From a latency perspective it still takes 70ns to get the data, but from a throughput perspective you get a major gain.
Of course I could be wrong.
If you want to look into it more, check out kingston's ulimate memory guide:
http://www.kingston.com/tools/umg/umg2000.pdf
- Steve