Beh troppo sommario dire sono le "librerie".
Jakarta Struts è un framework che ti assiste nello sviluppo di web application imponendo l'uso del pattern MVC.
In pratica tu puoi utilizzarlo così come non utilizzarlo, tuttavia, se lo utilizzi conferisci alla tua web application performance e caratteristiche difficilmente, ma non impossibile, ottenibili senza di esso.
MVC vuol dire suddivisione (ad esempio estrapolare tutto il codice java dalle pagine jsp e relegarlo in appositi fili .java) e quindi facilmente significa indipendenza, riuso,...
Ciao