NS-3, in itself, is targeted primarily for research and educational use, so there is an expected level of complexity associated with it. The installation is a bit tricky the first time, and it will take a while to get comfortable with writing your own code. Fortunately, when you get a grasp on the concepts you will find that it is no more than programming in C++.
Just follow the official Google group for NS3 and you will learn faster from other people questions, which will highlight new things and ways to deal with the simulator.
The installation procedure of NS3 is quite complex for beginners but only NS3 installation is not so much complex. I think, NS3 with CCN and DCE is very complex and success ration at first time less than 30%.