Da quando hai aggiunto la nota sugli esempi pratici alla tua domanda, ti fornirò alcuni esempi di servizi che ho scritto per le applicazioni aziendali (non dici se sei un programmatore di applicazioni aziendali, ma suppongo che la maggior parte dei programmatori C # VS2010 lo siano) . Penso che tu stia cercando un'idea di ciò che gli sviluppatori che non lavorano per Microsoft potrebbero scrivere.
Un servizio di monitoraggio del battito cardiaco che ha verificato se altri programmi erano ancora in esecuzione (potrebbe aver funzionato anche come attività pianificata, ma è stato implementato come servizio).
Un servizio di scrittura di report che ha funzionato attraverso le code delle richieste di report, ha eseguito i report e li ha inviati a stampanti diverse a seconda della stampante occupata. Ciò ha contribuito a scaricare una buona quantità di lavoro da un'applicazione legacy e ha consentito la condivisione del report in esecuzione da più box economici che eseguono il servizio.
È stato implementato come servizio in modo da poter essere eseguito continuamente, avviarsi automaticamente al riavvio ed essere in grado di utilizzare l'interfaccia standard dei servizi di Windows per avviare, arrestare, mettere in pausa, ecc. Inoltre, se fosse un'attività pianificata, sarebbe necessario iniziare a ottenere dati da altri programmi o da una fonte persistente (una coda, un file, un database) anziché essere disponibile per essere chiamato da altri programmi (socket, pipe).
Anche la parte server di un'applicazione client / server è stata implementata come servizio in modo che si riavviasse al riavvio, ecc. Esisteva un altro progetto con un file .exe che eseguiva lo stesso programma non come servizio, per semplificare debug su macchine di sviluppo.
Spero che aiuti. Le altre risposte sono risposte generali migliori, in particolare l'idea che le attività pianificate sono probabilmente più facili da scrivere e amministrare per la maggior parte degli scopi ora.