Well, a well-designed JSF page doesn't generally need
any HTML and (well-designed or not), I have quite a substantial number of pages that demonstrate that over the years.
JSF is supposed to be an abstract framework, which is why it has plug-in renderers instead of just spitting out HTML directly the way
JSP tags do. Putting in HTML on a JSF View is akin to breaking out into assembly language in the middle of a C program.
Whether the JSF renderer emits a table or a div is up to it, and there are JSF tags that actually do make div/span/table decisions. But worrying about which HTML element comes out is like worrying about what bytecodes were produced in the backing beans.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.