Use sparingly to join two independent but closely related clauses that aren't joined by a conjunction. Often, making each clause its own sentence is preferable to keep sentence length short.
If needed, use to separate list items that themselves contain commas in running text.
Lists complex enough to warrant a semicolon should usually instead be set off as a vertical list.