By curiosity and knowledge, I did a quick search about DataIterator of JSF and some UI components.
In the JEE6 tutorial of Oracle, I found:
The value attribute of an h:dataTable tag references the data to be included in the table. This data can take the form of any of the following:
A list of beans
An array of beans
A single bean
A javax.faces.model.DataModel object
A java.sql.ResultSet object
A javax.servlet.jsp.jstl.sql.Result object
A javax.sql.RowSet object
Extracted from:
JEE 6 tutorial
As I said earlier a collection of POJOs to be only displayed will work perfectly, but if I need more interaction, such as: checkbox, rowSeleciton, and others; in these cases will be necessary build a DataModel.
At show case of primeFaces in the DataTable component is used only a simple collection, so I this mode works too:
DataTable - PrimeFaces