yes, but than there is common sense. you have to see if the girl looks ready, even if she has hit puberty she may not be ready mentally or physically. It is just a guideline. it does not mean you have to marry a 9 year old if she hits puberty. the majority would not do that. its just a basic guideline. Yes, some do, but then they would later learn to regret it. Also you have to remember that some things were acceptable in different times. Like back when the quran was writen 1400 years ago, that may not have been looked upon as bad, considering many people did it, christians did it, English kings did it. Of course over time this has changed and now yes, it is looked upon as overall just weird. For example in many countries the age limit is still low for example in Spain it is 14 i think. However they are looking to raise it to 16. But still that is low compared to England. Also in France the marriage age used to be 15, however it was raised 4 years ago to 18.
Overall my point is that although it says puberty it does not say it is compulsory, far from it. Trust me, the majority of muslim women do get married around ages 19-20 which you will find is fairly legal over here and in many countries. The majority of muslim men would not want to marry a nine year old. Some do, but compared to the majority it is nothing.