In my opinion JME is a decent game engine. Its flexibility and fact that its opensource makes it worth to use despite the several weakness. In general, it is quite hard to start a good looking project, JME requires at least a fair knowledge of Java at the begining and the ability to understand shaders. What you can be done with JME? Look at @MoffKalast's Lightspeed Frontier and my Skullstone.
Personally I don't like SDK, I use Eclipse for coding so SDK is only a tool for importing models.
Nifty is an nightmare for me, I use it only in one place, made an entryfield using it, I was too lazy to do it from scratch in my own GUI engine.
After few months of making Skullstone (and learning JME at the same time) I was able to do my own rendering pipeline based on deferred shading, with live shadows, many light sources etc. It was not a hard thing to do, thanks to JME's flexibility.
With JME you write a CODE. Not a script, not any blueprint, there are no 'creators' or 'wizards'. Treat JME as a huge library, use what you want, ignore what you don't want to use.
Incomplete documentation is not a problem imo - you have source code, you can read it.