Clean exploit code could be used maliciously (or accidentally) by people that might not understand the true nature of the program. There is a tradition when releasing exploit code to obfuscate it or introduce obvious errors that make the code safe{,er}. This prevents script kiddies from immediately using it, while anybody who should be reading the code should be able to see through the obfuscation/errors.
Most of the value is in the data (common login credentials). The bulk of obfuscated code is probably stuff doing the network communication and perhaps some other mundane stuff, that you can do manually (over telnet, or whatever) if you like and don't care about creating a botnet.