First of all, RichFaces is not handling JSTL tags, all work is done by JSF's ViewHandler, so RichFaces is compatible with any JSTL version, that's in turn, is compatible with the JSF version used.
Note that JSTL implementation is in fact used only when JSP is used as view language. Facelets mimic behaviors of JSTL tags and use "http://java.sun.com/jstl/core" namespace.
On JSP versions: according to this page http://faq.javaranch.com/java/JstlTagLibDefinitions, JSP 2.1 (JSTL 1.2) is using "http://java.sun.com/jsp/jstl/core". As JSF 1.2 requires JSP 2.1, all RichFaces 3.2+ versions need to use this namespace. For older RichFaces 3.1.x versions that are compatible with both JSF 1.1 & JSF 1.2, both namespaces can be used, depending on the application server & JSF version used.
Thanks for the reply. I think the most important point that I missed was the fact that "Facelets mimic behaviors of JSTL tags and uses the "http://java.sun.com/jstl/core" namespace". Would this imply that if all my UI code is using RichFaces and JSF (with some JSTL mimicked tags) and I am not using JSP, that I should only have to use the "http://java.sun.com/jstl/core" namespace". Or in other words, the "http://java.sun.com/jsp/jstl/core" namespace is purely a JSP namespace and has nothing to do with JSF.
PS Other developers reading this thread might also find this article useful: http://www.znetdevelopment.com/blogs/2008/10/18/jstl-with-jsffacelets/
Just a note of thanks for explaining this. That clears up my confusion about these tags.