A computer analogy: it's usually far more straight forward to reverse engineer a regular C program, than one of those tiny hand-optimized assembler demos.
For a concrete example, consider the "modbyte tuning"[1] in the 32byte game of life.
Life is different. There is no logic to the way it solves problems.
A programmer writing a game of life in C will probably do it from scratch, in a straightforward manner. Read the corresponding machine code and you are going to see familiar structures: loops, coordinates, etc...
Now here is how life does it: you have a program that outputs prime numbers, you then have to change it into a sorting algorithm, then in a fizzbuzz, and then in a game of life. You are not allowed to refactor or do anything from scratch. If the program become too big, you are allowed to remove random instructions.
For a concrete example, consider the "modbyte tuning"[1] in the 32byte game of life.
[1]: http://www.sizecoding.org/wiki/Game_of_Life_32b#Modbyte_tuni...