RxJS is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. It offers a language neutral approach to reactive programming using observables that asynchronously push values to observers. Some key benefits of RxJS include clean asynchronous code, error handling, composable observables, and abstraction. The core concepts include observables, observers, and operators to process and transform streams of data over time.