En si los 2 te hacen la conversion al que necesitas.. la diferencia viene a partir de que puede recibir y que puede recibir el otro...
El
Convert.ToDecimal si te das cuenta está sobrecargado para 18 tipos de parámetros que puede recibir además de poder indicar el tipo de formato que quiere hacer...(IFormatProvider)
El Decimal.Parse forzamente debe recibir un string para hacer el cast aunque tambien implementa IFormatProvider..
Y el clásico (tipo)algo es para parsear tu cadena sin ningun tipo de formato, así que ya depende de lo que estés haciendo.
Salu2