_T is a macro that expands to nothing in normal builds, and to L in unicode builds (if UNICODE is defined)

It allows you to make your code portable between those two types of builds

Code:
TCHAR* a = _T("string");
// same as
char* a = "string";

#define UNICODE
TCHAR* b = _T("string");
// same as
wchar_t* b = L"string";