This is highly dependent on the game you're making and there is no one answer to this question. Just go with whatever works best for the type of the game you're working on. Remember, UIRoot is optional -- all you need is a UIPanel to draw the UI elements underneath it.
I haven't even figured out how to do it, so I have no preference.
Should I be fighting to try to get nGUI's camera to work with the default camera, or do I just trash the default camera and build off nGUI's camera. There are many times I won't have a distinct gui and game, like health bars, and other things. If I am doing a 2D game should I be using two cameras or focus on one? (I know there are specific cases you need a 2nd camera for specific reasons, but just in general).
Also should I be using nGUI to keep all the game element sprites (player, enemy and so on) sized for different aspect ratios on mobile, or is that just for the gui elements?
I know there are different ways to do it, but I am not really what works, much less what is better. I've been playing around with it, but I can't figure out what I should be doing. Mobile aspect ratio been kicking my ass (and not just GUI, the entire game).