Zwei Hauptgründe, an die ich denken kann, sind ...
Sie möchten mit einer höheren Taktrate laufen als mit dem internen Oszillator verfügbar. Für den von Ihnen erwähnten Atmega16-Chip hat der interne Oszillator eine maximale Geschwindigkeit von 8 MHz, aber Sie können den Chip mit einem externen Kristall mit bis zu 16 MHz betreiben.
Sie benötigen ein präzises und genaues Timing. Mit etwas Aufwand können Sie den internen RC-Takt mit einer Genauigkeit von +/1% kalibrieren, aber ein billiger (1 US-Dollar) 16-MHz-Kristall kann sofort auf 0,005% (50 ppm) genau sein. Der interne RC-Oszillator reagiert auch empfindlicher auf Temperatur- und Spannungsänderungen, sodass ein externer Kristall im Allgemeinen stabiler ist.
Warum sollten Sie die maximale Taktrate erhöhen? Wenn Sie doppelt so schnell laufen, können Sie doppelt so viel Arbeit in derselben Zeit erledigen - oder dieselbe Menge Arbeit in der Hälfte der Zeit. Oder Sie können Signale mit der doppelten Frequenz erzeugen / zählen.
Warum sollten Sie eine präzise und genaue Uhr haben? Vielleicht möchten Sie lokal verfolgen, wie viele Sekunden Sie ausgeführt haben. Nach 1 Woche können Sie mit einem% 1-Oszillator mehr als eine Stunde ausgeschaltet sein, während Sie mit einem 50-ppm-Kristall innerhalb einer halben Minute sein sollten. Oder Sie interessieren sich für die Zeit in einem sehr kurzen Maßstab - zum Beispiel das Generieren von seriellen Datenbits, bei denen eine Abweichung von 1% auf beiden Seiten einer Verbindung ausreichen kann, um Rahmenfehler zu verursachen.