Algunas ventajas de utilizar un DelegateCommand (aka RelayCommand) son:
1) requiere menos XAML/código para apoyar ellos (no necesita Comandos)
2) El código de implementación del comando se puede escribir fácilmente en las clases ViewModel
3) No tienen una dependencia en el árbol de elementos de interfaz de usuario para que funcione correctamente, lo que también ayuda a mejorar el rendimiento
Dado que una gran cantidad de controles de interfaz de usuario de terceros utilizar comandos enrutados, la mayoría de los desarrolladores terminan utilizando comandos enrutados cuando toma una dependencia de esos controles.
Si necesita usar comandos enrutados, consulte mi artículo Using RoutedCommands with a ViewModel in WPF para ver una manera de simplificar las cosas.
DelegateCommand y RelayCommand son dos implementaciones diferentes de ICommand. DelegateCommand tampoco se conoce como RelayCommand. – AzzamAziz