para entender la diferencia es mejor verlo por su función en el documento Html que como selector en CSS y esas son las que menciona frijolerou otra razón es que puedes usar varas clases para un solo elemento cosas que no puedes hacer con el atributo ID ejemplo:
Cita: <p class="claseA claseB">un párrafo cualquiera</p>
otra motivo para saber cuando usar id o class es por la
especificidad en CSS o sea id tienes más prioridad que class
Saludos