It’s definitely not a compliment.
Calling someone a nincompoop is like calling them a fool, idiot, bonehead, or dope. It’s definitely not a compliment.
Nincompoop is a silly-sounding word that’s also kind of old-fashioned, like ninny. No one has any solid idea where it came from, and anyone who claims otherwise is, well, a nincompoop. By definition, nincompoops are dumb, foolish, and can’t do anything right. But there are far worse things you could call someone who’s behaving like an idiot. Maybe this old-timey insult deserves a revival?