com_parse is a generic function that can be used for all sorts of things, including console, saved games, and entity lumps from bsps.
both saved games and entity lumps make extensive use of { and } chars, for instance. and something like '{classname worldspawn}' miss-parsing would be annoying when you're just trying to debug something quickly.
No, you don't need those chars for the console. But for generic text parsing (like doom3's various text-based data files), handling '(2,3)' as 5 separate tokens means that you can actually parse such text in a sane way without caring about specific chars or whitespace.
If you want to be fancy, you can have some 'if (strchr(punctuation, c))' line to check if c is one of your punctuation chars, and then just pass in a string as an argument to the function, allowing arbitary-but-single-char punctuation to be parsed as separate tokens.