Concealing the nature of how things truly function or work.
Obfuscation is the process by which the code is altered so that a reverser find it impossible to read any clear indications of what the intended program does or how it operates. The larger the program the greater the obfuscation, as code becomes intertwined linking different segments through out the program.
While it may be possible to use a disassembler to figure out how certain aspects within a program function, it requires knowledge of assembly. Assembly language by its nature is non-trivial.
Another way to increase obfuscation is to use packers.