As classes são utiliizadas para identificar um grupo de elementos, ou seja, mais de um.
Exemplo:
CSS
.classe {
background: blue;
}
HTML
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>Classe</title>
<meta charset="utf-8">
</head>
<body>
<div class="classe">Elemento 1</div>
<div class="classe">Elemento 2</div>
<div class="classe">Elemento 3</div>
</body>
</html>
Enquanto o id é utilizado para identificar um único elemento. Sendo assim, não pode repetir eles.
Exemplo:
CSS
#id1 {
background: blue;
}
#id2 {
background: red;
}
#id3 {
background: green;
}
HTML
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>Id</title>
<meta charset="utf-8">
</head>
<body>
<div id="id1">Elemento 1</div>
<div id="id2">Elemento 2</div>
<div id="id3">Elemento 3</div>
</body>
</html>
Sempre que você precisar aplicar 1 estilo para muitos elementos, utiliza-se a classe.
Caso você queira mudar somente um único elemento e somente ele, utiliza-se o id.
Espero ter colaborado com a sua dúvida!
Abraço e bons estudos!