I am trying to understand how to use JBoss EAP6 with Spring applications. I have a sample OpenShift application and it contains a jboss-deployment-structure.xml
As long as you don't have any classloading problems with your application you don't need the jboss-deployment-structure.xml file. But once you have trouble of such kind the dependency management in jboss-deployment-structure.xml would be your friend.
This article explains very good what modules are.
I think in short you can say that everything that is deployed as WAR, JAR or EAR is a module. These modules are referred to as dynamic modules. Beside them there are static modules in $JBOSS_HOME/modules. The only difference is how they are packaged.