I can answer that.

CR is commercial software and popular in closed environments, meaning that it is present on 100's of corporate LAN's in addition to being used by Bigpond (an Australian ISP) and Webnet in the US to run public IRC networks.

Naturally if you pay good money for something you expect a great deal of configurability. +j by itself is small potatoes but one of many things that CR has which, to some, justifies the expense. There is many instances where only a java applet is required and +j is good for those purposes. In a corporate setting who needs mIRC or any other client when a corporate intranet page can have a java applet that connects to the room by having the visitor just click a button and without having to set anything up? You install CR and configure the HTML page with the applet and then the job is done. The alternative is to install CR or another IRCd of your choice and install a client on potentially 1000's of computers. The latter job is a bigger one. +j means that employees who like to stuff around with things will get a surprise when he downloads mIRC or whatever and tries to connect against his boss' wishes.

In the public domain, having seen +j rooms work successfully I can sympathise with a founder wanting to have +j. Look at it this way - there is millions of channels out there and another million yet to be founded, in knowing that, why bother objecting to someone wanting +j for his room? You are free to chat in another. The reason there is no modes to distinguish between IRC programmes is because of one simple thing - It's just not possible. CR Java can be distinguished against everything else only because it is native to the CR package and for no other reason.

One could argue against the mode that blocks unreg'd nicks too but the same principle applies, if you don't like it use another room.