Polling sollte – meiner Meinung nach – möglichst nur auf unterster Ebene geschehen, also etwa durch einen Treiber. Ausnahmen wären natürlich sowas wie „Server anpingen, um zu prüfen, ob er up ist“.
Es gibt z.B. auch Hardware, die man auch oberhalb der Treiberebene nur pollen kann. Manche NFC-Reader oder Kellnerschlüssel sind Beispiele dafür.
Schnittstellen zu anderen Programmen laufen auch teilweise nur so, dass man wartet bis eine bestimmte Datei beschreibbar ist oder vorhanden ist oder oder... Ob das gutes Design ist, sei mal dahingestellt, aber angebotene Schnittstellen kann man nun einmal nicht immer beeinflussen. Und ohne eine direkte Kommunikation der Programme gibt es auch nicht so viele Möglichkeiten.
Eine Druckjobüberwachung funktioniert z.B. meines Wissens auch nur mit Pollen, zumindest habe ich noch keine Möglichkeit gefunden mich benachrichtigen zu lassen, wenn einer fertig ist.
Und da gibt es noch viel mehr Gelegenheiten, bei denen du keine andere Möglichkeit hast als zu pollen.