[...]Most of the time, the difference in size will be insignificant. You'll save what, about 500kb, which doesn't yet take compression into account? Most projects are a lot larger than this, having a lot of graphics etc. In contrast, three different versions leads to bigger, more confusing websites and force users to read through the website and choose the correct version.
Nah, I still think one version for all platforms is the way to go. That was one of the ideas why they've created Java in the first place[...]
With webstart you simply specify the jars you want for a specific platform... and thats it. One jnlp which works everywhere, but it requests different library jars for each platform.
If you do platform specific builds such as an exe installer for windows, a zip application bundle for mac and whatever for linux... why would you then include all that shit you don't need? It doesn't exactly save time to do so, but it wastes quite a lot of bandwidth (you want thousands of downloads each month).
You can put a really neat demo into 5mb (stripped jre included!) so why would you want to increase that by 10%? With a demo that small you might get quite a lot of 56k downloaders... in which case 0.5mb more would increase the number of incomplete downloads noticeable.
There are always easy ways to optimize the size (such as this one or choosing proper formats like DXTn for graphics, ogg for sound, pack200 for jars and installers with lzma compression). Take that opportunity. And there are complicated (low level) ones, which aren't worth the trouble. This way you can easily peel off half of the size without spending too much time.