STRUTS is a 'framework' seperate from the J2EE standard (much like Turbine, TEA and countless others). As such, J2EE containers (Tomcat, WebLogic) have no idea of how to use STRUTS. The STRUTS ActionServlet acts as the bridge between the expected J2EE structure and STRUTS. This is why both web.xml and struts-config.xml are required.
A STRUTS delegation class is typically the class you create for all your actions. This class usually extends STRUTS's Action class. Since this is more of a STRUTS question, I will ask that this be moved to the STRUTS and other Frameworks forum.