I usual use StatusMessages. Also interested to know the difference.
There is no difference really, when you are using JSF in your app. StatusMessages is the parent class of FacesMessages, and contains the non view-specific logic for managing status messages for a request. If you're using JSF, you get an instance of FacesMessages when you inject the component which contains some view-specific stuff for rendering the messages in a JSF page.