Richfaces is a component suite. ICEfaces, while also containing a suite of ajax-enabled components, contains an ajax bridge. This bridge, along with the PersistentFacesServlet, is what allows the dom-dif technology to update only what has changed on the view page as well as ajax-push (COMET). Although ICEfaces allows 3rd party integration (using jsf-delegation), if the components have javascript clashes with the ajax bridge or the ICEFaces ajax-enabled components, then the integration doesn't go so well. (in other words....not recommended).
However, jsf2.0 specs allow for the use of the FacesServlet for both frameworks and the goal of this technology is to allow the combination of any ajax-framework to be used alongside another in the same application. Ted gave a demo of ICEfaces-2.0 at JavaOne last week. Unfortunately, the other ajax frameworks represented there (including RichFaces) were not ready so we can only assume the goal at this point.