A heat pump operates most efficiently when the temperature difference between the heat source and the heat demand is smallest. For that reason they are most suited to powering under floor heating systems which typically run at lower temperatures.
Solar water heating uses a solar collector, usually positioned on the roof of the property. Solar collectors work by transferring heat into fluid that is circulated to a solar coil in the hot water cylinder.