@Artex:
Michele ti ha spiegato il limite "fisico" dell'Arduino, quelli sono i pin e più di quelle cose in modo diretto non puoi collegare.
Poi non è detto che puoi elettricamente usarli tutti: per ogni pin non possono transitare più di 40 mA di corrente, 100/150 mA (a seconda del gruppo) per gruppo di pin, e max 200 mA su tutto il microcontrollore. Questo per farti capire che 20 led collegati direttamente ai pin ed alimentati anche con circa 10/15 mA di corrente l'uno ti brucerebbero l'integrato.
Spesso si ricorre proprio a dei componenti esterni per aumentare il numero di ingressi/uscite sia per avere più linee ma anche per evitare i problemi di cui sopra.
Poi c'è da considerare l'ingombro in memoria del programma. Non è che puoi "metter dentro" finché ti pare

C'è anche un limite di spazio. Tutte quelle cose che uno vorrebbe usare occupano Flash e Ram, potresti anche arrivare a riempire la Flash o saturare la Ram in esecuzione.