h:panelGrid is the core JSF tag, and it allows organizing the View components in a 2-dimensional regular structure equivalent to the HTML table (which is what it renders as).
rich:dataGrid is an enhancement to this concept that melds the abilities of h:panelGrid and h:dataTable. Unlike the panelGrid, it binds a linear sequence of items (list model) to the view. Unlike the dataTable, it allows this sequence to be displayed in a 2-D array of cells, instead of in 1-Dimensional rows.
RichFaces is an open-source product of Red Hat/JBoss that supplies extensions to the core JSF tagset with enhanced abilities, including extensive AJAX support. I think you can find the details from the main
http://jboss.org webpage.
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.