Pradeep,
If you need nesting, use ui-router. I didn't get from your question that you needed this.
If you have common elements for your application, such as navigation headers and footers, you can include those using ng-include.
The 'main' content can be in a ng-view, so that's loaded dynamically.
No nesting needed for that scenario. perfectly solvable with ngRoute.
when you need your header /main/footer all depending on each other, you need nesting, and uiRouter can help you there.
If you are starting, start with ng-route, if you run into its boundaries, you allways can switch over.
(also the angular team is working on a new router solution, perhaps you might wait for that!)
Regards
Sander