A well-rounded character has both good and bad traits, much like we do. A character doesn’t have to be particularly likeable, either, but readers must be able to empathise with them, at least somewhat. I think this is what readers connect with (and how to keep them reading)—they see a little of themselves or someone they know in a character. Yep, even in the bad guys.
When I’m trying to find a character’s unique voice, I always use their surroundings to influence how they would speak and act. I try to consider the time period, the social background, even the genre I’m writing—all these things will (and should!) effect voice. Saying that, I also think we often worry too much about finding a voice before we’ve even started, when all we really need to do is write and uncover it along the way. (Of course, it’s always nice if a character comes along with a strong voice already. :))
And if they still refuse to cooperate, you can always throw them into random and difficult situations that take place outside your main story. Write some drabbles or flash pieces and toss your characters into a crisis, or bring someone in from their past and make them deal with it. As their actions and decisions take place, you should get to know them better and it can help figure out what makes them tick. (Interviews and character questionnaires are also good for character-building. You can find some examples here and there’s a handy tag on Tumblr here.)
Also, the naming process often does my head in and sucks up hours of time. But! Three great resources I’ve used in the past for finding names (and name origins and meanings) are Behind the Name, Baby Names, and The Surname Database. I nerd out when a character’s name has a hidden meaning.
Research is good, but ultimately I find the best way of developing my characters is to just write them—in their own stories, in side-stories, and you can even shove them into other people’s stories.