J2EE draws on the main strengths of Java but viewed in the larger context of the enterprise.
An enterprise environment / application with the following qualities would be suitable for J2EE technologies:
Any medium to large sized organisation will have a variety of servers/platforms in use in the enterprise (e.g. Windows, Linux, Solaris, AS400). As JVMs are available for most platforms, Java provides Write Once Run Anywhere. Consequently use of J2EE enables code reuse, skills consolidation, etc. across the enterprise.
Requirement for vendor neutrality and/or enterprise integration.
A primary function of Java and J2EE is to provide generic interfaces for both developers (using APIs) and service providers (using SPIs). This enables an organisation to pick and choose products as they see fit without the fear of vendor lock-in. In addition, integration between enterprise components is quicker and easier.
J2EE provides a feature-rich set of high quality APIs (and some default/reference implementations). Developers can use the APIs to reduce the time spent coding. E.g. sending email from an application used to be time-consuming as a developer had to write a cut-down email client or integrate classes from a third party; email support can now be added using Java Mail in a few minutes.
Requirement for Enterprise class components.
J2EE is high quality and provides fully integrated support for enterprise concepts – e.g. security, transactions, etc.