Pros of Knowledge Fusion
Tightly integrated into NX. Connected to expressions, update, and object behaviour.
Needed to write CheckMate checkers (unless you're clever)
Cons of KF
Proprietary language, so harder to get help/support
Useless outside of NX
Strange syntax
Hard to connect to other existing software
Pros of NX/Open
Standard languages (C/C++, VB, Java, Python, etc, etc.)
Good free development tools
Easy to access vast numbers of other libraries (e.g. .NET tools, SciPy, etc.)
Easy way to get started (SNAP)
Cons of NX/Open
Harder to add new associative objects to NX (UDOs are complicated)
A bit harder to write CheckMate checkers