It's implied Magic is fueled by moonlight. Or the very least, the magic granted by the cave.
The reason Ariel's attempt to help Sebastian with magic backfires is because she didn't specify how big for the spell to make him.
Ariel accidentally wishes for there to not be any humans around, turning the crew of the ship into fish. You would think the spell would turn them into merpeople, as they are biologically similar to humans.