It wasn't until very recently (first with JSF, and then with Glassfish) that Sun got into the business of providing any kind of reasonable implementations. Apache has been the defacto RI producer for as long as I can remember:
Servlet/JSP: Tomcat
JSF: MyFaces
JAX-RPX/JAXWS: Axis
JAXB: JaxMe
EJB: Geronimo/OpenEJB
JPA: OpenJPA
JCR: JackRabbit
Java Logging: commons-logging, Log4j, SLF4j
(Those are just the ones I know off the top of my head). Apache was also a leader in developing most of these technologies with projects like Struts, Turbine, Velocity, Log4j/commons-logging, etc.
The JCP and open-source RI combination benefited Sun immensely. First, most developers had access to most tools and platforms for free, so there was no barrier to entry. The result? One of the largest developer bases for any platform. Second, developers had access to the RI source code, which means they can trace through the framework code, find/fix bugs, and offer their own improvements. The result? One of the largest support bases for any platform (BugZilla, Jira, forums, blogs, etc.). Finally, both of these offer tremendous incentives for commercial third parties to create their own offerings, which has lead to incredibly diversity: RedHad/JBoss, IBM/WebLogic, BEA/WebSphere, Oracle/OracleAS, Apache/Geronimo, Sun/Glassfish, and tons other.
And all of this creates a positive feedback loop that builds on itself.
So where did Sun benefit financially?
1. They receive licensing fees from the commercial third parties and in handheld devices (JavaME)
2. Certification fees
3. Hardware/software/support in their integrated platform offerings (admittedly this has suffered due to the popularity of commodity OSs like Linux)
4. (Indirectly) Not having to pay development staff to produce and support implementations
Oracle is attempting to dam the river so they can sell water to people downstream. If they are not careful, people are just going to find another water source.
I don't see this as the "end of Java", but I do see it as the end of the cohesive, constructive community built around Java. I expect to see fewer JSRs being ratified, more independent third-party libraries being used, and a lot of fragmentation in the community like we saw with web UI frameworks before JSF was introduced. I think it will be up to the container providers to try to hold it together and provide a consistent experience for developers.