The whole stack is very complicated but most people only use about 15-20% of it (as with virtually every piece of software anyone’s ever bought I might add).
For example, hardly anyone uses EJB’s because it’s too complicated, there’s a movement in the industry to use Plain Old Java Objects for most things because of this.
Most people use the Web Application stuff because it’s easy to use and well understood (Servlets and JSP’s) and pretty easy to do big projects with if you’re disciplined.
Sun have produced a huge document that no-one will read apart from application server and tools vendors: meanwhile in the real world we’ll just get on with using the bits that are useful and ignoring the rest, as usual.
SOA – only the big corps are into this – it’s using sledgehammers to crack nuts for most of us. Again – big boy’s toys that they probably don’t need if they’re honest, but it looks good on the old CV.