One advantage that UInterfaces provide you with as a developer is the ability to treat a collection of heterogeneous objects that implement a common interface as a collection of the same object, using Cast< > to handle the conversion.
Please note that this won't work if your class implements the interface through a Blueprint.