Where a text table is the right answer
Code comments, commit messages, terminal output, plain text email, and anywhere a Markdown renderer is not going to run. The table is the characters, so there is nothing to render and nothing to go wrong.
Switch to the box-drawing style for something prettier. Those characters are Unicode rather than ASCII, so they need the reader's font to have them, which in practice is almost everywhere now.
Column widths and wide characters
Columns are padded to their widest value, measured in display columns rather than characters. That distinction matters: Chinese, Japanese and Korean glyphs occupy two columns in a monospace font, and counting them as one leaves the grid visibly crooked for anyone whose data is not Latin script.