atmega is a trademark of Atmel AVR. I don't know why did you call the subject this way, when you're asking about AT89 series.
When you'll want to update the program, AT89C5X must be removed from the PCB, programmed on external programmer and then fitted back.
AT89S5X could be programmed either fitted on the PCB (no need to remove it) or on external programmer like AT89C5X.
That's the main difference.
Add to the above that AT89C5X will be discontinued by the manufacturer (no date limit until now).
ATmega are AVRs, it's completely different from AT89s5x or AT89c5x, although most are pin compatible.
AT89s5x are newer than AT89c5x, with some advantages:
1. price almost the same
2. ISP programming (in-system programming, so you dont need to take the chip off your system whenever you need to reprogam it).
3. Can be a bit faster (max crystal freq=33 MHz, compared to 24MHz in AT89c5x)