Why does the Vishnu Purana and Mahabharat promote Child Marriage?
Not just the Vishnu Purana and Mahabharata, but all Dharma Shastras promote child marriage:
Manu 9.94 - A man thirty years old shall marry a charming girl twelve years old; or one twenty four years old, a girl eight years old; in the event of his duties suffering, he may do it sooner.
Yama (Do.)—(Same as Manu.)
Āpastamba (Do., p. 767).—‘A man thirty-years old shall take a wife ten years old, before she has attained puberty; and one twenty-one years old, a girl seven years old.’
Āśvalāyana (Do.).—‘A maiden seven years old is called Śaiśavī; a man eighteen years of age shall marry her; a maiden eight years old is called Gaurī, conducive to richness of sons and grandsons; and she shall be married by a man twenty-five years old; a girl nine years old is called Rohiṇī conducive to richness of wealth; a wise man shall wed her for the accomplishment of all his desires; a girl over ten years age, until she has her courses, is called Gāndhārī; and she shall be married by a man desirous of living long.’
Someone said these are interpolations but that is ridiculous because dozens of dharma shastras mention this practice along with dozens of MEDIEVAL era commentaries by orthodox vaidikas! Not to mention that child marriage was practiced as recently as 100 years ago among orthodox Brahmins, and even today some communities in India practice child marriage.
The next doubt it is, why is the age gap so big as mentioned in Manu verse 9.94? The answer is that the age gap is just an example and not literal. This is mentioned by medieval Vedic scholar Medhatithi:
Nor is any stress meant to be laid upon the exact number of years mentioned; all that is meant is that one should many a girl very much younger than himself.
This is also supported by actual practice among the Vaidikas, as the 12 year old Rama married the 6 year old Sita, so we see an age gap of 6 years here.
Now, as for WHY child marriage is enjoined by the Vedas, there are several reasons. One reason is that procreation is very important:
Manu 9.96 - Women were created for the purpose of child-bearing, and men for the purpose of procreation. hence it is that Religious Rites have been ordained in the Veda as common between the man and his wife.
And it's known that a woman is able to bear children after she hits puberty at the start of menstruation.
Another reason is that if the father doesn't give his daughter for marriage before puberty, he incurs sin:
Gautama (18-21).—‘A girl should be given in marriage before puberty.’
Vaśiṣṭha (17.70).—‘Out of fear of the appearance of the menses, let the father marry his daughter while she still runs about naked. For if she stays in the home after the age of puberty, sin falls on the father.’
Baudhāyana (4. 1.11).—let him not keep the daughter in his house after she has reached the age of puberty.’
And it is sinful because he is depriving a soul from taking birth, which is very important. There is another verse that says that for every menstruation cycle that the daughter is not married, the father incurs the sin of bhrunahatya: killing the embryo, because the female egg is gone to waste.
So child marriage here means marrying a girl who has not yet reached puberty. However, actual sex does not happen until menstruation starts. This is important, because it refutes the claim that Hinduism supports pedophilia. Pedophilia strictly means sex with PRE-PUBESCENT children, but from the start of menstruation, the woman has reached puberty.
Another reason for child marriage is to prevent PRE-MARITAL sex and ensure that girls are VIRGINS, because one should only marry virgins:
Manu 8.226 - The marriage-ritual texts are applicable to virgins only, and nowhere among men, to non-virgins; and this because these latter are excluded from religious acts.
This is a common meaning of "kanyA". Virgin here means woman who has not been penetrated. There are other meanings of kanyA, like "younger girl". But with this meaning, in order to ensure the girls are virgins, they would be married before KAMA (sexual desire) sets in, because if one marries a woman in her 20s or 30s like people do today, then there is a high chance that she has had premarital sex through some form of dating or something since statistics today show that premarital sex is actually very common.
And because marriage is so important, the Rishis have even allowed the girl to marry a man of her own choice if her father doesn't marry her in time:
Manu 9.90 - Having reached puberty, the maiden may wait for three years; after that time, she shall procure a suitable husband.
9.91 - When a maiden, when not given away, herself procures a husband, she incurs no sort of sin; nor does the man whom she weds.
So, these are the reasons for child marriage.
The physical characteristics of women mentioned in that passage you cited is a general guideline to marry healthy women, and not an absolute rule. Some of those characteristics are indicators of disease and bad health, like fat hands (obesity).
Now, this type of marriage (child marriage) is actually a marriage that is focused on SPIRITUALITY and not Kama, valor, wealth, etc. Thus, it was mainly practiced among Brahmins, who by profession focused mainly on spirituality. There are 8 types of marriages, and 4 of them fall under this category.
For example, here is the most spiritual type of marriage, the BrAhma vivAha, or the marriage pertaining to Brahman (God):
Manu 3.27 - When one himself invites a man endowed with learning and character and gives to him his daughter, after having dressed and worshipped (them),—this is called the “Brāhma” form.
So when is child marriage not followed? In the gAndharva vivAha. The gAndharva marriage is love marriage.
Manu 3.32 - The mutual union of the bride and bridegroom, through love is to be known as the “Gāndharva” form; it has sexual intercourse for its end and it has its source in lust.
And one can only love and have sexual desire after puberty (kama) has set in. This form of marriage is not an arranged marriage by the parents, but based on mutual attraction like the "love marriages" of today.
And then various marriage types are prescribed for different castes. The first four ones are for Brahmanas whereas the gandharva and rakshasa are mainly for kshatriya. For the other castes, asura and gandharva are the main types. But the PrAjApatya child marriage can be performed by all. For example, in the Mahabharata we see the famous love marriage (gAndharva vivAha) between the Kshatriyas Dushyanta and Shakuntala.
But the first four marriages are superior because they have SPIRITUALITY as its goal and not lust, wealth, or valour:
Manu 3.39 - Only from the four marriages mentioned successively, beginning with the Brāhma, are born sons endowed with Brahmic glory and respected by cultured persons.