NGC provides collision detection for your game. It can also be used to physically control your 3D objects based on the collisions.
It has some strong and weak points. A strong point is that it is well supported by the author and is a nice choice if you want the collision system to take care of itself.
Weak points include it costs money, it's relatively slow (it used ellipsoid collisions), it does not have box detection, you cannot rotate collision bodies, sometimes the automatic collisions get stuck, can't resolve, and freeze the game. One thing I hated about it is that it isn't a real DBP plugin so every command is wrapped with a DBP function. It ends up adding lots of code to any project you want to use it in which is annoying and slows down compiling. Also, you have to replace some standard DBP commands with NGC replacement commands.
Sparky's collision on the other hand is free, can do box collisions, lets you rotate collision bodies, is super fast, and is a real DBP plugin. You can achieve more accurate collision with this plugin. It uses sphere sliding collision as opposed to ellipsoid, but to achieve the same accuracy you just use two or three spheres on top of each other which is still faster.
Dark Physics also handles collisions automatically, but it's a different type of system altogether. In the end, though, NGC is slower than Dark Physics and Sparky's DLL. It's actually slower than Dark Physics and Sparky's used together.
Come see the WIP!