I used to think of commas as verbal pacing cues as well, but they have more in common with parentheses or semicolons in code. The rule I remember now is "Commas are for parsing, not rendering."
Unlike commas, there are only a few situations where semicolons are correctly used.