Documentation is pretty clear about what this alternative of Observable doing:
The Single class implements the Reactive Pattern for a single value response. See Observable for the implementation of the Reactive Pattern for a stream or vector of values. Single behaves the same as Observable except that it can only emit either a single successful value or an error (there is no "onComplete" notification as there is for Observable) Like an Observable, a Single is lazy, can be either "hot" or "cold", synchronous or asynchronous.
But I can't see a reason apart that it is might be simpler then Observable sometimes, where and why to use it?