The quickest way to separate them is to ask what each one is. Lottie is a file format and a family of players. Rive and ExodeUI are design tools that also provide runtimes.
Lottie animations are usually designed in After Effects and exported as JSON with the Bodymovin plugin, or created in tools that export Lottie. Players exist for web, iOS, Android and many frameworks. Lottie is excellent for icons, illustrations and loaders that simply play. Interactivity needs extra code, or newer additions such as dotLottie's state machines.
Rive is an editor where you draw vector graphics, animate them on timelines and connect them with a state machine. Its runtimes play .riv files in many environments, and your code talks to the state machine through inputs. It is strong for characters, illustrations and game-like interfaces.
ExodeUI is also an editor with state machines and runtimes, but it is built around product UI. It adds layout, spring physics and node logic, and saves everything as one open .exode JSON file. Runtime packages cover React, Vue, Svelte, Angular, Solid, React Native, SwiftUI and Flutter, and an MCP server lets AI coding tools edit animations.
In practice: use Lottie when an animation only needs to play, Rive for illustrative interactive graphics, and ExodeUI or Rive for interactive UI components. Many products use more than one.