Languages like C++ you cannot easily decompile into it's native language, you must decompile it into assembly or machine code, now that makes it hard. With Java all you need to know is the algorithm used to obfusticate the code and blammo, there it is, almost the exact code the author wrote minus comments.
Now I for one don't care if someone can see my code, I tend to program it in a way that doesn't matter but you'd be suprised how many lazy coders are out there. I've decompiled classes where coders have hardcoded root database/ftp passwords right into their programs.