ive been using kodi (xbmc was better moniker) since google killed sagetv. i recall attempting plex, but it seemed to lack some open/extensibility (its been awhile).
i have a side project i want to make as a modular plugin generating a cable layout with original air orders and networks/channels... kodi seems most optimal, but ill admit its been a long while since i looked at plex.
For me, Plex or Jellyfin is great if I want to share my library with some friends or family, especially non-technical people. Kodi really needs tinkering and you need debrid subscriptions and requires more local maintenance. It's great for me but I wouldn't want to teach my family how to use Kodi and me having to fix it when it breaks.
For local use it's handy that those Kodi instances share their database so watched state and crucially how far into the episode/movie you are. You can do a shared database with just Kodi but I don't think that's optimal. Jellyfin integrates so well and handles the database stuff much better imo so I just use that.
You don't need debrid for Kodi. There's a torrent streaming app.
But yeah Kodi is a lot to teach if you're talking about maintenance. I've also had some bugs on Ubuntu and Fedora.
I stay with Kodi because it's faster ime and looks better (not the default skin) and works better with a remote. But I also keep jelly fin installed and running from the same nas.
Kodi for home, jellyfin for phones and guest homes. Trakt on both to keep them in sync.
Once I used Kodi with real-debrid, I don't want to go back to streaming torrents. It is much faster and much more reliable.
My setup is a Shield TV Pro using Kodi with the Jellyfin plugin then use Umbrella for anything I don't have locally. Gave my family a Firestick with Jellyfin and then they can request through Jellyseerr which then feeds through to *arr stack. I don't mind if I have to fix my end but I don't want to fix theirs.