There are some HTML bigots that say you shouldn't use the HTML list tags at all anymore.
Of course, there are also some HTML bigots who say the same thing about tables.
Personally, I don't recommend using raw HTML in JSF unless you absolutely have to.
You can achieve the same appearance using CSS, which is where all of this comes from, whether you're using purely HTML or JSF.
It's not that the world will end if you do it a different way, but going by my own experience, apps are simpler, cleaner, and more maintainable using the approaches I've outlined.
Using logic to arrange UI elements is a borderline case, and it's one that ui:repeat is specifically designed to address, and I use it, but not usually for simple element lists. Part of the reason I discourage it is because it's a "gateway drug" to putting business logic on View definitions, which definitely
is a violation of the MVC paradigm. And, more importantly (as opposed to theory, academe or
ide[ot]ology", it turns the process of software maintenance into an expensive hide-and-seek game where you never know for sure if logic is on the bean, on the view, or splattered in some unoly combination between the two.