There is no single right answer.
There has never been a centralized registry of file extensions, so selecting file extensions has always been a matter of convention, unless the software imposed constraints. In the days of DOS, the use of a standardized (well-known) file extensions became prevalent only for proprietary formats (like Lotus 1-2-3's
.WKS and dBaseII/III's
.DBF), because the software itself either demanded one (you had no choice), or strongly suggested the file extension. For formats that didn't have any specific application associated with them, it was really up to the user to pick.
Even then, some programs with proprietary formats (such as WordStar) didn't use standardized file extensions. It was common for WordStar users to use
.LET for letters,
.DOC for large documents,
.INV for invoices,
.TXT for indeterminate text, and so on. If you got a
.DOC file, you had no way to know what kind of file it was without context, or dumping it to see what it looked like inside. It could have come from literaly dozens and dozens of programs, or it could be just a plain text file. A
.BAK file extension (back-up) simply told you that "this file formerly had a different file extension". A
.BAS file was almost certainly some sort of
BASIC source file, but it could have been for MS-Basic, Turbo Basic, or from just about any other competitor. Many times, files weren't saved with an extension at all (you knew what they were because of the label on the floppy that held them). Some people forwent the "extension" and used the extension characters so their file names could have up to 11 characters instead of the standard 8 (e.g. "
MikeJohn.son"), or used the extension as a serial or version number (
MathPapr.002, so on).
Things started to change with Windows; I suspect mostly because Windows encouraged file extensions to be associated with individual programs in
WIN.INI, so program writers had really a strong incentive to use and take control of a distinctive (although not always with a sensible acronym) file extension. A small war ensued to see who owned common file extensions - like
.DOC (you know who won that one).
Keep that context in mind:
For text files, Notepad took over
.TXT which was very common at the time. Other programs could open it of course; and in time, when you could register multiple editors for an extension, many programs did. However, the important thing is that this solidified its currently accepted meaning: "a plain text file, with no formatting or markup of any sort, except possibly tabs and line terminators".
What we call today "Comma-Separated Values" files, were normally stored with a
.TXT extension, because they were - well - files with plain text. Excel came along and needed to support values in text files where each colum was separated by a comma, so they came up with
.CSV as a file extension they could register - and it stuck (there might have been a historical precedent of using
.CSV. I'm not aware of any).
Funny enough, "tab separated values" files were never very common in DOS or Windows, Why? my guess: it was too hard for many DOS users to undestand or work with tabs. It was a control character inherited from ASCII's control set intended for teletypes; formally it wasn't a printable character. The IBM PC character generator had a graphic for it, but to get it you had to write to the video card directly so nobody really used it. It's exact meaning wasn't standardized. If you rendered the file to the screen or printed it, users couldn't "see" it or distinguish it from plan spaces. Many/most editors couldn't even insert it.
So, nobody took that bait. No one took "files with tab-separated values" and come up with a file extension that became "standard", by virtue of either custom or market dominance.
.TXT is probably the most common file extension.
.TSV is a fine choice if you need something uniquely different from
.TXT. I've also seen and used
.TAB on occasion.