con el primero, estas capturando la Exception, con el segundo la estas relanzando....
supon que con el bloque try/catch/finally capturas la exception y ahces con esta lo que quieras, ya sea enviar mensajes de error, o cerrar la conexion de una abse de datos, o lo que sea.
con el throw, lo que haces es que cuando suceda un error, simplemente lo relanzas y en ese metodo no te importa.
mirate en las FAQs del foro, ahi puse una explicacion mas amplia
have funnnnnnnnn