Per quel poco che ho usato il tag layer (anzi, visto che non l'ho mai usato), se non sbaglio non è considerato tra i tag ammessi dalle DTD XHTML (e mi pare nemmeno dalla DTD HTML 4.01). Mi pare fosse un tag sviluppato da Netscape ai tempi della guerra dei browser con IE. Comunque, in XHTML non esiste un tag layer, quindi vanno usati dei tag privi di significato semantico per il layout, come div e span.
In ogni caso, qualsiasi (e sottolineo qualsiasi) tag genera un box, ovvero un rettangolo che può essere posizionato con i CSS. Quindi la sola differenza tra div e layer riguarda il fatto che siano supportati dalla DTD che usi.