Sometimes its not a programming trick, it might be something to do with business logic, something you dont want ppl to know. A lot of companies like to hide how they do things, that is how they stay alive. The code that was passed in a Obfuscator is a pain to understand, a pain to subclass, since most class names and methods get changed to a, b, kdje and stuff like that
Trust me there are ppl who will get a class, javabean, and etc and decompile and use the code, I have seen ppl steal code, sometimes spend tons of time understanding a code that was obfuscated and then use it at clients saying they had made the code.
I dont mind sharing the code I write, I never personaly used an obfuscator, but its sometimes I think about it, just so some idiot cant just steal my code and say he coded...
a friend suggest this obfuscator, its free, looks pretty good. My friend sent me some code that came out, and it is a pain to read.
http://proguard.sourceforge.net/ tiago