Vitality is a character's effectivness at defending against physical attacks - higher Vitality means less damage taken.
Spirit is a character's effectivness at defending against magical attacks - higher Spirit means less damage taken. Spirit can also affect things like the number of Critical hits a character lands, as well as theit ability to steal items, but this can also be linked to their Luck stat.