I really like RobotC. The software is stable, it downloads in a second, it has a great debugger and it has tons of functions that most other languages don't have. There are really talented people using it in very complicated ways.
My only problem is that they haven't released a way to communicate via Bluetooth between more than 2 NXTs. I am fortunate enough to have 4 NXTs. If I choose a project that uses all of them, I have to be very creative and figure out a way to communicate between them. Yes, I know NXT-G does it really well, but I find that things start to go bad when I create very large programs with lots of decisions and loops.