Reactive drivers are a different style of programming that allows you to work on streams of records rather than an entire set of record. That's helpful when you either a) don't need to keep the entire result set in memory, or b) need to apply processing to every element of the result set.
An example of (a) is that you're sending the results to some other end-point, maybe using some kind of messaging framework.
An example of (b) could be creating a graph visualization or even a table view, so that you can start to present data before everything has "arrived over the wire".
For a more thorough exploration about "functional reactive programming" and using "observable streams" you can read through ReactiveX - Intro