This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
Struts does have some criticisms, look here for a prior discussion. As for the criticism you cite: - Big Learning curve Really? I picked up Struts in a day or two. Try deciphering the Win32 API some time. - Less Transparent Than what? A home built framework? Another nameless framework? I'd say it's more transparent because it forces the developer into a pattern which can be easily picked apart. - Less Documentation There's probably more documentation for Struts 1 than any other Java subject other than the core API. 15 million hits on Google (For comparison, Java Server Faces returns less than 1 million). Struts 2 is lagging behind because it's newer and there's more competition between frameworks now. - Rigid approach This is probably fair. Struts 1 forces you to generate a lot of code just for the framework (FormBeans *shakes fist*). Struts 2 is much more flexible.
Struts is a front controller for the most part. Probably 99%* of the load of an application exists elsewhere (network overhead, database access, business logic processing and so on). If you did not use Struts you would either have to implement its functionality yourself or use some other framework to act as controller. Therefore I conclude that there is no drawback to using Struts performance-wise.