Они абсолютно тождественны. По крайней мере, в современном английском.
В какой-то книженции читал, что в классическом английском "this" это то, что находится прямо перед говорящим, то есть то, что можно почувствовать, потрогать, увидеть. А "that" - то, что вне досягаемости.
Вроде бы так. Факт в том, что в современном английском роли не играет.
Как отдельное существительное, они тождественны. Как притяжательные местоимения this и that тоже тождественны.
Why have you chosen that shirt? и Why have you chosen this shirt? - при переводе абсолютно аналогичны.
Однако когда идет сравнение, два this или два that использовать нежелательно.
Например:
Why did you buy this shirt instead of this one? - Чисто грамматически правильно. Но слух режет основательно.
Правильно было бы так:
Why did you buy this shirt instead of that one?