Lead your team. Be an example. Not just on the field but off the field as well.
If you had to briefly explain the role of a captain it would be something along those lines. John Terry lead his team and was a prime example of a hard working footballer on the field. However, he failed to provide a proper example off the field. He slept with a teammates girlfriend, got her pregnant and paid for her to have an abortion. Therefore, he was stripped of his captaincy. Appointed as new captain, via promotion from vice-captain is Rio Ferdinand. That is pretty much the only reason Rio is now captain. Because he was vice-captain, naturally he got appointed to captain. However, this does not mean he is suited to captain the England squad.
Rio Ferdinand is not a model citizen either. He skipped a drug test once and claimed that he had forgotten that he had a drug test and went shopping instead. He was consequently banned for 8 months. More recently, he was seen elbowing Hull City's Craig Fagan and is now serving a 3 match ban for that. Not exactly a role model. Not to mention the guy barely plays because of a bad back. He has only appeared in 9 matches for Manchester United this season.
Next in line to be captain was Steven Gerrard. Gerrard is a more reasonable option, he does captain Liverpool and has done so for some time and even served as England captain for 4 games. However, he also has his fair share of off the field issues. He beat the shit out of a DJ because he wouldn't play his song.
So why not Frank Lampard?
He's squeaky clean and is pretty much the vice-captain of Chelsea. I don't think there's a question that he's a leader and if you dare question his heart then you better get ready to enter a world of pain. The guy is all class and I don't see why he is not getting more consideration for the role of captain. I think he fits the role perfectly.