Actually Houdini's COPs are very capable, I use them all the time. Also you can define custom procedures/nodes using vex as text or as a separate node interface.
I know Houdini very well, I've been writing plugins to it for years. Vex is capable of handling complex expressions, but it is still limited to predefined 20 or 30 types and you cannot extend it (you can in a hackish way using some C++ interface, but lets assume that this is just too hackish). This also effects the UX of Houdini, you can often see nodes with 30 or 50 inputs that look strange (like the std material definition). If you are able to define custom types, you can collapse related parameters into new types.
I'm not talking COPs or Houdini is something bad. It is one of the few applications that I support with whole heart and I love it. In fact Houdini is a very rare example of really well defined visual DSL.
Luna differs in many ways, the most important are that we've got double representation and Luna is a real programming language, while Houdini provides you limited set of building, yet very powerful blocks. I would however love to see Luna used within Houdini as a plugin, I've been already speaking about it with some folks :)