From what I'm reading, these deployment descriptors define where classes and dependencies go. Maven manages dependencies too though. Does Maven have scope at this level? It doesn't make sense to me that it's not enough to just define your packages at the top of each class and then let Maven do the rest.
Those descriptors are used at runtime by the container, and Maven is not running at that time (Maven runs at build time). That is why there are needed (though in more recent versions of Java EE they are optional - the container can easily learn the necessary information by scanning the classes).