Hola, pues UML es realizar los planos de nuestro software, Rational Rose es una herramienta muy superior a Visio asi que tiene mas opciones como generar codigo, en cambio si bien Visio te genera codigo este sera para VB, C#, etc familia microsoft, en cambio Rational segun el tipo de licencia que tengas te ayudara con el codigo en el lenguaje que requiras y este soporte.
Ahora muchas cosas que implementabas en Rational quizas no las puedas diagramar con Visio aunque en el Visio 2003 esto mejoro considerablemente
Yo tambien busque info acerca de esto y lo que encontre fue solo la ayuda que trae Visio, ahora hay un libro donde te ayuda a usar Visio y modelar UML usando como lenguajes .NET el libro se titula "Professional UML with Visual Studio .NET" no lo lei asi que no te puedo dar mas info al respecto
Salu2