The rule i use for heating tanks is to allow roughly 1 watt of heating for each litre of water, though if you live in a particually cold country or dont have central heating then you will probably want to up this to 1.5w per litre.
Using a heater that is much larger than recomended for your tank can have bad consequences, in the event of a power cut or extended period of maintainance where the water temperature drops a larger heater will heat the water too fast when it comes back on which can drive out the oxygen from the water resulting in a O2 crash and dead fish. Another problem is that should the heater fail and become stuck on a larger heater will heat the water to fatal temperatures extreemly quickly and again kill all the fish.
Where possible i always preffer to use two smaller heaters over one large heater, i.e two 150w heaters on a 300L tank rather than 1 300w. This way the heaters can be placed at either end of the tank so heat is more evenly distributed and should one heater fail it will A) Not be large enough to over heat the tank if it sticks on and will burn itself out before fatal temperatures are reached or B ) The remaining heater can keep the water warm should one heater fail completely.