Why so many functions we need to (lua) binding manually

In lua-bindings directory, I find some lua binding classes created automatically, but others created manually.

I want to know when I can use lua binding generator to create lua bindings, and when I must create lua bindings manually, and why?

now I want to binding the CCDownloader class for lua. Can I binding it automatically by using genbindings.py script, or I must binding it manually. If I must to binding it manually, please tell me how to do it or any tutorial I can learn, thanks very much.