Ich erlaube mir eine zweigeteilte Antwort. Zunächst eine (noch immer etwas simplifizierte) für diejenigen, die es etwas genauer wissen wollen. Weiter unten folgt dann eine Kurzantwort für all diejenigen, die es gar nicht so genau wissen wollen, sondern die nur an den Auswirkungen interessiert sind.
Ausführliche Antwort:
---------------------
Für TeX kann ein Zeichensatz nur aus max. 256 Zeichen bestehen (ursprünglich waren es übrigens nur 128). Die Zeichen eines Zeichensatzes werden intern durch die Zahlen 0 bis 255 repräsentiert. Damit kann TeX also beispielsweise moderne Zeichensätze, die mehr Zeichen enthalten oder bei denen Zeichen über ihren Namen, statt über ihren Code angesprochen werden, nicht direkt umgehen. Stattdessen müssen solche Zeichensätze für TeX in einzelne Zeichensätze mit einem beschränkten Zeichenumfang von max. 256 Zeichen aufgeteilt werden.
In unterschiedlichen, sprachlich geprägten Regionen werden unterschiedliche Zeichen benötigt. Bei einer Tagung im schottischen Cork wurden vor vielen Jahren solche Untermengen definiert. T1 ist dabei eine Untermenge an Zeichen, die für westeuropäische Länder gedacht ist. Es gibt beispielsweise auch T2 für osteuropäische Länder oder TS1 für Textsymbole wie das €.
Das Paket `fontenc` wurde geschaffen, um für ein Dokument eine Grundcodierung der Schrift zu wählen. Letztlich führt die Verwendung von `\usepackage[T1]{fontenc}` dazu, dass LaTeX bei der Auswahl eines konkreten Fonts dann die Datei `t1<schriftkürzel>.fd` lädt, über die dann die konkret zu ladende Schrift ausgewählt wird. Bei den LaTeX-Standardfonts lautet das `<Schriftkürzel>` für die rm-Familie, also die Serifenschrift, `cmr`. Es wird dann also `t1cmr.fd` geladen. Darin ist über weitere Regeln festgelegt, dass tatsächlich der Font `ecmr` in entsprechender Größe zu laden ist. Das ist die Serifenschrift von European Computer Modern. Das ändert sich natürlich, wenn man zusätzlich ein Font-Paket angibt. Dieses kann dafür sorgen, dass eine ganz andere Schrift geladen wird, etwas Latin Modern durch Angabe von `\usepackage{lmodern}`.
Ohne Laden des Pakets würde hingegen die Standard-Codierung `OT1` verwendet. Diese ist für US-ASCII-codierte Fonts mit nur 128-Zeichen vorgesehen. *Diese Zeichensätze haben beispielsweise keine Umlaute!* Darüber hinaus wird dann über `ot1cmr.fd` auch nicht mehr `ecmr`, sondern `cmr`, also die Serifenschrift von Computer Modern geladen. Auch hier kann durch die Wahl eines Font-Pakets eine andere Schrift erreicht werden.
Zeichen, die in einem Zeichensatz eigentlich nicht existieren, werden bei TeX teilweise über Makros gebildet. So wird ein `ä` über einige Umwege bei der `OT1`-Codierung tatsächlich aus den Diaresis-Pünktchen und dem `a` zusammengesetzt. Das hat den Nachteil, dass Wörter mit diesen Zeichen für TeX bei der Trennung in einzelne Wörter zerfallen, wobei die zusammengesetzten Zeichen nicht Teil der Wörter sind. Aus »Wörter« würde also beispielsweise »W«, »ö«, »rter«. Das führt dazu, dass solche Wörter nicht korrekt getrennt werden können.
Die Verwendung von `\usepackage[T1]{fontenc}` hat also unmittelbar Auswirkungen darauf, welche Wörter korrekt getrennt werden können. In der Regel verbessert sich bei westeuropäischen Sprachen die Trennung dadurch signifikant.
Noch einen Schritt komplizierter wird das durch neuere TeX-Maschinen, wie XeTeX und LuaTeX, die auf LaTeX-Seite als `xelatex` und `lualatex` zur Verfügung stehen. Bei diesen existiert die Beschränkung auf nur 256 Zeichen/Zeichensatz nicht mehr. Dadurch wurde auch die Verwendung von `fontenc` überflüssig. Stattdessen kann und sollte bei Verwendung von XeLaTeX oder LuaLaTeX das Paket `fontspec` verwendet werden. Dieses schaltet nicht nur die Standardschrift auf Latin Modern um (was über zusätzliche Befehle und Optionen wiederum geändert werden kann), sondern spricht diese auch nicht mehr in der alten TeX-Codierung von Fonts an. Stattdessen werden die Systemfonts in den üblichen Codierungen Type-1 und OpenType direkt verwendet.
Kurzfassung:
------------
Durch `\usepackage[T1]{fontenc}` werden von LaTeX Fonts in westeuropäischer Codierung verlangt. Diese enthalten die meisten Text-Zeichen für westeuropäische Sprachen als einzelne Zeichen. Dies führt zu einer verbesserten Trennung für westliche Sprachen (vorausgesetzt man stellt diese Sprache auch ein und hat Trennmuster für diese im Format).
Format). Auch Suchen in und Kopieren aus den erzeugten PDF-Dokumenten kann dadurch verbessert werden. Für Wörter mit Ligaturen genügt dies jedoch noch nicht generell.
Als Nebeneffekt wird die Standardschrift von Computer Modern zu European Computer Modern umgeschaltet.
Ohne `\usepackage[T1]{fontenc}` wird von LaTeX eine US-ASCII-Codierung verlangt. Diese enthält keine Textsonderzeichen wie Umlaute oder Buchstaben mit Akzent. Da diese daher zusammengesetzt werden müssen, ist die Trennung bei Wörtern mit solchen Zeichen unvollständig oder fehlerhaft. Auch Suchen in und Außerdem findet die Suche in solchen Dateien Wörtern mit Sonderzeichen häufig nicht und das Kopieren aus den erzeugten PDF-Dokumenten solcher Wörter kann dadurch verbessert werden. Für Wörter mit Ligaturen genügt dies jedoch noch nicht generell.
ebenfalls zu fehlerhaften Ergebnissen führen.
Bei Verwendung von `lualatex` oder `xelatex` ist nicht `fontenc` sondern `fontspec` zu verwenden. Dieses schaltet die Standardschrift auf Latin Modern um und ist in der Lage alle Zeichen eines (unicode-)Zeichensatzes anzusprechen.