nbterm is "notebooks in the terminal", Ninja is "materialized notebook executions". So, for example, whereas nbterm will display cell outputs, ninja will materialize them to disk and make them available via (eg) HTTP.
Whereas nbterm is a CLI-based notebook development environment, Ninja is a notebook production execution environment.
Ninja continues the thought from "how do I build notebooks better" to "how do I get into production".