in reply to what are these

I'll take a general stab at it --

  1. It's a poorly written block of code, by someone who hasn't selected adequately named package, variable, or subroutines.
  2. It's a block of code that was written by a poor typist, who insists on typing as little as possible.
  3. It's a block of code that was written as a one-off, that the author intended to never need to be maintained, or understood 5 minutes after it was written.

Of course, #2 and #3 are really just subsets of #1.