A thing can be "compliant" with a normative specification (such as the J2EE spec) and "compatible" with an implementation (even a theoretical one) of that spec. Servers are compliant to some degree, and applications are compatible to some degree.
So what about all that stuff in the specs regarding the developer's role, or programming restrictions? Those just describe the developer-facing aspects of a compliant server. It's still a server spec.
So when somebody says their application is J2EE compliant,
you should read that to mean that it will behave well in J2EE-compliant servers. Speaking more strictly their application is J2EE compatible.... that's splitting hairs, though. Doesn't sound like anything to have an aneurism over.