Where are you located and how do you intend on using your heater?
In areas with great southeastern exposure, and a good amount of sunlight, AND space to place solar panels, solar would be very economical and efficient to keep your pool heated.
If you plan on only using your pool or spa, whenever you want to, and don't mind waiting for the water to heat up, a gas heater will allow you to heat the water quickly...but can get costly.
If you want to use your pool or spa all the time, and are dealing with air temperatures greater than 50 degrees, a heat pump is consistent and efficient, and can keep your water maintainined at a desired temperature very cost effectively.
For areas where gas is not readily available or expensive, and electricity is not too bad, and you're looking to keep the pool heated, even in the coolest months, electric resistance heater may be the one you need...but can get expensive to operate.
In all cases, the use of a solar blanket will greatly reduce the amount of heat lost overnight and will lower the amount of heat needed the following day.
So once you've determined which type may be best for you, then we can get to the very "objective" issue of which is the best pool heater!