Systemnik,
Извините, я сначала ошибочно написал. Сериализация это преставление (запись) объектов в виде, удобном для сохранения/передачи. Таким видом может быть html, xml, JSON, и т.д, но в данном случае рассматривается сериализация в html DOM-объекта.
Вот пример того, для чего может использоваться setAttribute, т.е когда нужно сохранение параметров при сериализации:
// Создадим элемент <span>
var element = document.createElement("SPAN");
// Присвоим ему параметр id через setAttribute()
element.setAttribute('id', '1');
// А параметр id2 - через прямую запись
element.id2 = '2';
// Оба параметра доступны из JavaScript:
alert([element.id, element.id2]);
// Теперь создадим <div> и вставим в него наш <span>
var element2 = document.createElement("DIV");
element2.appendChild(element);
// И посмотрим его html код:
alert(element2.innerHTML); // <span id="1"></span>
// Другими словами, если element2.innerHTML сохранить
// на диск/передать на сервер, то параметр id не запишется,
// в отличии от параметров записанных через setAttribute.
Формулировка ответа немного хромает, просто сейчас самочувствие плохое