MVVM-Routing- und Relay-Befehl

Was ist der Unterschied zwischen dem RoutedCommand und dem RelayCommand ? Wann sollte RoutedCommand und wann RelayCommand im MVVM-Muster verwendet werden?