Inside a desktop environment (e.g. GNOME, KDE, or Xfce),
xdg-opensimply passes the arguments to that desktop environment's file-opener application (gvfs-open,kde-open, orexo-open, respectively), which means that the associations are left up to the desktop environment. When no desktop environment is detected (for example when one runs a standalone window manager, e.g. Openbox),xdg-openwill use its own configuration files.
Então, eles não são substitutos, mas backends.