Inanzitutto:
http://www.w3schools.com/tags/att_global_id.asp
http://www.w3schools.com/html/html_classes.asp
poi:
L’attributo id è usato per identificare in modo univoco un elemento, esso va usato una volta sola nella pagina, ma può essere usato una volta sola in ogni altra pagina, pertanto assegnare un id al footer è semanticamente corretto.

Una classe, al contrario, può essere assegnata a più elementi, anche dello stesso tipo. Pertanto se tu hai due div o più <p> "paragrafi" che devono avere lo stesso comportamento e usare le stesse regole CSS, puoi assegnare ad ognuno di essi la stessa classe. Ma fai attenzione, come riportato in tante guide, usare un id o una classe senza attribuigli regole css, non va bene e non ha neanche senso.