There are a lot of great libraries out there, but in the free versions I mostly miss a grouping functionality, which till know I only found in OrgCharJS (nonfree).
This are my must have features:
- Grouping functionality
- Dynamic alignment when opening+closing groups
- Easy to edit, preferrible by describing the structure by something like JSON or drawing the diagram
- Link nodes/shapes to external web sites