Short answer: ui-grid is a (non-backward compatible) updated version of ng-grid. Ng-grid is now no longer under development and is a legacy product - use ui-grid
Long answer to address each of your bullets:
1+4) If you want to know about the features and customization options for the ui-grid you can easily read up on them :) Take advantage of the great documentation on their page - read the API and tutorial to learn all about the basic features and customizations available.
2) There are answers already answers to a very similar (duplicate!?) question as @squiroid mentioned above. However the answers are a bit out of date as there is now a stable version of ui-grid available meaning ng-grid is at this point officially a legacy product -use UI-grid
3) The answers here also mention - and I have seen from personal experience that UI-Grid has MUCH better performance for large data sets.