One of the main things that powers a hurricane is water that evaporates from the ocean and then condenses back to water. When it condenses heat is given off because it goes to a lower energy state. This heat creates a difference in temperature that makes the hurricane more powerful as it spins faster. This does not happen as much on land, so it loses energy. There are other reasons too, like building blocking the air, but that is much more minor.