Spells are very powerful, but require 3,000 mana, and so cannot be cast very often. Every new character starts the game knowing only the Spike spell, but they can choose a new spell to learn every 5 levels. Note that learning a spell doesn't equip it, you have to go to the equipment menu to equip the spell. You can only cast the equipped spell in any given battle, although changing spells between battles to suit the foe can give you a strong advantage.
Here's a list of all of the spells:
Spike (Earth): Deals 500-1,500 damage. Spike is weak and easy to evade as it only hits on one frame.
Snake (Earth): The same as Spike, except Snake deals 3,000-5,000 damage!
Lion (Fire): Deals 300-500 damage over 9 frames. This makes the total (unblocked) damage 2,700-4,500, not quite as powerful as Snake, but being spread over 9 frames makes it more difficult to evade. Even if it misses half the frames, it still deals a lot of damage.
Squid (Water): Deals 1,000-2,000 damage and only hits on one frame (like Spike). However, any damage dealt to the enemy is absorbed, so you can heal 1,000-2,000 as well as damage the enemy. Note that the heal amount can be reduced by the enemy's magic defense, and if you miss, you aren't healed at all.
Tornado: Deals 250-350 unblockable damage over 9 frames. This makes the total damage 2,250-3,150, always. Regardless of magical defense, or if the enemy is blocking or dodging, it will deal 2,250-3,150 damage (like Armor Pierce).
Lightning: Deals 0-600 damage over 14 frames, with a 1/4 chance of dealing 0 damage every frame. This makes the total (unblocked) damage 0-8,400, with the expected (unblocked) damage being 2,800. Like Lion (Fire), frames of lightning can be blocked, but any damage dealt with lightning also damages mana (if it deals 2,800 damage, it also removes 2,800 mana, which can keep enemies from casting powerful spells).
If an enemy doesn't have enough mana to cast a spell, he attacks instead, and if he doesn't have enough mana to defend, he dodges instead, changing his pattern.
Heal: Recovers 1,500-3,000 health, and defends for 12 frames. While it deals no damage, if can keep you alive longer, and be timed to block enemy attacks as well, giving you time and health to recover from a tough situation.