There's little point in doing both. I would remove Apache unless you're serving static content from Apache or something complicated (virtual hosts?). But even then JBoss is pretty decent at serving static content.
The only advantage I see is flexibility of configuration BUT with more parts there's a greater chance for mistakes.
Yes, we're both serving static content and using virtual hosts with Apache.
This is not a configuration that I created/chose, but was asked to evaluate.
I agree with your analysis:
The disadvantages seem to be more moving parts & greater complexity and everything that comes with those (greater risk for mistakes, harder to maintain, etc.).
The advantages seem to be greater flexibility, off-loading static content handling to the web tier (and apparently it's expected that there'll be a lot of static content), use of virtual hosts. But these advantages would still be there if we turned off software load balancing and just did hardware load balancing. So I'm wondering what advantages are gained strictly from having both? The only one that I see is that it may be a more robust way of handling failover if an app server goes down?