A team captain is the leader of a team. A good team captain leads through his words and his actions. But most importantly, a good team captain is a good motivator.
For the teams that I coach, I almost never pick the best player on the team to be the team captain. There is no reason the best player can't be the team captain, but in my experience, the best players on the team aren't always the best motivators. A good team captain is the person on the team that day in and day out is the hardest worker on the team. They lead through example and work ethic. Not talent. The team captain also needs to be an individual that the rest of the team respects. This is because a coach expects the team captains to "call players out" when they are under performing. That won't work if the captain isn't a respected teammate.