Stages = phases in your pipeline (New → Contacted → Quote → Won / Lost). A lead is always in exactly one stage. Stages determine the Kanban column where the lead is visible.
Tags = free-form labels (e.g. "hospitality", "hot lead", "waiting-for-feedback", "BANT-OK"). A lead can have multiple tags at the same time.
Use stages for funnel position, tags for flexible categorization or segmentation. Tags are ideal for triggering campaigns ("send drip campaign to everyone with tag X").