You get to control remind with other tools if that suits you, but you also get to do the legwork to make all those integrations work. For my use case that includes birthday reminders generated from my abook¹ data, social reminders fetched and merged from a few different online sources, exercise reminders generated from goldencheetah² data, astronomy reminders generated with scripts over heavens-above.com, and more.
I find remind fits in to that category of tools where you make your own workflow that suits you, more than a simple tool you use. I've been using it since 2008, and my initial import was a code-assisted import from org-mode. I expect a similar transition could happen at some point in the future if I find another tool that fits my needs better.
FWIW, I have syncing across my devices but I'd sound like that infamous dropbox review if I suggested my way of working was for everyone. For example I'm happy with ical imports for visualising my calendar on my phone, and using termux for editing it when I don't have access to a real computer.
remind can appear incredibly daunting given how long the documentation is, but it can slowly grow with you. If you're new to it I'd recommend starting with simple static reminders or importing external calendars to get a feel for it, and then work your way up as your needs/comfort increase.
Beyond the supporting tools mentioned in that page, there is also wyrd¹. It is an excellent curses interface for remind, that is incredibly useful as an interactive remind viewer and editor.
¹ https://packages.debian.org/stable/wyrd - Debian page with source links in sidebar, because upstream appears dead.