I think there are two main factors, one is physical development, the other is society. When someone has physically matured into adult form they should start taking on some of the responsibility that goes along with being bigger and capable of procreation. I don't mean kids become adults once they finish puberty, I mean they need to be responsible for their new abilities.
At a certain point society needs to declare a person an adult. They need to become fully responsible for their actions, and they should also be fully entitled to all the rewards of being an adult. It is good to give kids a few years as teenagers to learn about responsibility and rewards, but it is not possible in a large modern society to evaluate each person and decide whether they can be considered an adult. So choosing an age like 18 is the best way to go, in my opinion. At that age people should be declared an adult and given the full privileges and responsibilities of any other adult. In fact, I think it is good to also give teenagers some access to adult privileges(with restrictions) before they are declared adults, in they hope that they learn to use those privileges wisely. If everyone starts treating people over the age of 18 like adults, maybe they will be more likely to act that way.
I think the legal age of sexual consent, drinking, driving, voting, full citizenship and fighting in a war should be 18. I think sex, drinking and driving should be allowed under the age of 18 with restrictions. Sex only if it is with another person within 2 years of age; drinking at home with parental consent; and driving accompanied by an adult with a driver's license, or only at certain times. But I think these are the sorts of things that can be varied to best suit a particular society.