I'm sure others will chime in on their opinions. But some of the benefits I know of are...
Direct DMA streaming from channels to disk including channel scaling and settings (my understanding is this happens without CPU intervention).
Small file size with combination of binary and XML data.
Reading TDMS data is quite easy using the TDMS palette, and you don't need to read the whole file to get the data you need. Grab the group, and channel and display it on a graph. Data is found based on names not column or row indexes.
You can concatenate TDMS files using a binary copy function (copy /b in command line) and channel data will be appended.
Using properties of the File/Group/Channel helps with organization and header data.
Can be opened in Excel with a free add-on. (and looks decent where things like column width and font style on import, that you don't get on open in ASCII)
Can store just about any data type. http://lavag.org/top...in-a-tdms-file/
Works nativly in DIAdem for automated report generation (not much experience with this when needed I have written my own in LabVIEW)
Can be opened in Matlab (not much experience with this either but I heard there are drivers)
Comes with a half way decent file viewer, which can be modified to your needs.
I started using TDMS files for storing development and debug data. Then I started putting the actual data for what I was doing in there. Now when a test completes I can take that TDMS file, and generate a more formal looking report from it. This way there is a nice looking report with the data we care about at the end, but we still have the TDMS file which will contain all raw data. But when it comes down to it use what works for you. TDMS maybe overkill, or you might not feel comfortable using it, and that's fine. For me it works well, but it might not be right for every system.