NTL template system semantics are difficult to understand at first since assignment operator in reality gets overloaded to perform a move  operation and not a copy. This is done for performance reasons and to overcome some STL limitations, but new C++0x standard should enable even STL users to perform move operations with classes by introducing rvalue-references.
since many C++ operators are overloaded to perform common tasks such as assigning callbacks, understanding the code can be a difficult at first
there are no layouts handlers for widgets, although Ultimate++ has a system of logic coordinates to maintain relative coordinates of objects when resizing windows. Having three buttons properly aligned and resized on a row without layout managers still remains difficult, though.
Ultimate++ IDE support for languages other than C++ is very limited. It provides some syntax coloring for SQL and little else.