The bottom up approach learns more by example or by doing than a complex set of cascading if/else statements. It tries to do something in a particular fashion, and if that doesn't work, it tries something else. By keeping track of the actions that didn't work and the ones that did, one can learn. Moreover, the program is inherently self-modifying. One can make a program in C that modifies itself, but the idea of code being self-modifying is avoided in the commercial world because of the difficulty of debugging self-modifying code.
This is the way in which Arthur Samuel programmed his checkers-playing machine. The machine started out incompetent at playing checkers. But as it went through several games, it learned a little each time, adjusting its own program, so that in the end it could beat the individual who programmed it.
Another reason for using a bottom-up approach in neural networks is that there is already an existing example which solves the problems associated with the approach: humans.