Единственная проблема, с которой я сталкивался — добавление элементов в IE8 с помощью innerHTML (парсинг работал некорректно). Вставка же созданного элемента с помощью createElement() решает эту проблему. Ну, и не следует забывать указать display для таких элементов в CSS.
Никаких проблем, связанных с генераций и прослушиванием событий не возникает ни в одном браузере, а профит очевиден для тех, кто создаёт модули, встраиваемые в разные сайты. В том числе и с говностилями, прописанными для имён тэгов.
Посмотрите на Yandex Карты — вся структура строится с помощью тэга ymaps.