*It depends
Great for building things quick
Provides easy to use utilities
Doesn't feel modern
Scales poorly
New applications with fuzzy requirements
Prototype applications
Application you don't need to scale (one off contract jobs)
You can commit to doing it the "Rails way"
Way to manage JS Complexity
Provides an upgrade path from Pure Rails to React SPA
Can't move as fast as rails
Doesn't get the benefits of an SPA
More complex than either
You have a Rails Application that is becoming extremely complex, and want to move towards an SPA
Way to manage JS Complexity
Feels like a modern application
Enforced separation of concerns (Display / Business logic)
Improved client performance
Moves slower than Pure Rails (initially)
You have a lot of Dynamic state on the page
You need it to feel modern
Have some reasonable confidence in needing to scale the application