I looked for rational rose feature list but what they present is more of a verbose instead of a list of features. Do any of these support creation of class templates from UML?
In general, Visio is a drawing tool while Rational rose is a modeling tool. To me, these are two different families of tools. Of course, it´s difficult to classify some tools in clearly one of the two categories but in general I´d say that the main difference is that drawing tools do not understand the model you are drawing, they just let you represent it. This implies that most likely they will not be able to check if the model is correct or to generate code from it.