As a translator (mainly localization), I want to say that depending on your purpose, there are places where zh-tw "Chinese (Taiwan)" and zh-cn "Chinese (China)" are and should be treated as completely separate languages. Although in these places, you would also treat en-US and en-UK as different languages.
Things that differ include, for example:
For the purpose of conducting business or even research, as well as dialog, it's not a big problem to treat the two as the same language, because you can generally count on the reader/listener to accommodate you.
But for the purpose of linguistic studies or translation, you should always treat the two as different languages.