Forget the romantic mumbo-jumbo - the real explanation is that diamond rings were considered a kind of virginity insurance. No, really. A law called "Breach of Promise to Marry" had allowed women to sue men for breaking off an engagement. The Atlantic's Matthew O'Brien says this would happen if the couple became intimate before marriage. From a legal perspective, the woman had lost her "market value" because she was no longer a virgin and still single. By the 1940s, lawmakers in more than a dozen states realized this was a pretty dumb law and struck down the "Breach of Promise to Marry" statute.
Let's think like an economist. An engaged couple aren't all that different from a borrower and a lender. The woman is lending her hand in marriage to the man, who promises to tie the knot at a later date. In the days of Breach of Promise, the woman would do this on an unsecured basis -- that is, the man didn't have to pledge any collateral -- because the law provided her something akin to bankruptcy protection. Put simply, if the man didn't fulfill his obligation to marry, the woman had legal recourse. This calculus changed once the law changed. Suddenly, women wanted an upfront financial assurance from their men. Basically, collateral. That way, if the couple never made it down the aisle, she'd at least be left with something. And that something was almost always small and shiny. The diamond ring was insurance.