Why would a company pay for "commercial support" of OpenJDK from IBM? I have used Java for 15 years and I don't know what "support" for a JDK would mean.
The decision makers are not programmers. The people making the choices on software in an enterprise are MBAs who know next to nothing about software and so they need some "insurance". Look at the tech founded enterprises, they do not go the tradition enterprise software route. Why? Their leadership came from a developer background and not an MBA one.
I have a legacy storage system only accessible through exactly Java 6u31 32-bit on Windows 7, of course I want to replace that but instead it’s cheaper to keep and maintain than to replace.
edit and I think this must be a conscious strategy on the part of any vendor: make maintenance just slightly cheaper than replacement