If a function is a first class object, you can treat it like any other object so you can pass them around or create them on the fly, as with lambdas/closures in Python/Groovy etc, which also helps to give dynamic languages their flexibility and syntactic sugar. Even as a dumb grunt programmer, this seems much more intuitive to my limited intellect than a lot of messing about with halfway house solutions like "inner classes" whose sole purpose is to give you access to a method (function) call. Another advantage claimed for the functional approach in general is the lack of side effects i.e. the idea is that a function always produces the same results for the same input and does not accidentally affect other data.
If you have time (about an hour) you could
check out Neal Ford's video talk on "Functional Thinking" at InfoQ, which looks at FP from a Java developer's perspective.
Or Rich Hickey's (Mr Clojure) great talk on the benefits of a functional approach in
"Simple Made Easy", also at InfoQ.
Well, they've convinced me - now I just need to find time to learn how to do FP properly. When will those books of yours be out, Bert?