The difference between Ms. and Miss is that Ms. can stand for Mrs. or Miss, so in essence, the woman who goes by Ms. is not giving away whether she is married or not married. Miss strictly refers to a woman who is not married. Mrs. is the term you would use for a married woman. If you were addressing a woman that you didn’t know, the safest term would be Ms. because you don’t know if she is married or not.
The word Mrs. is followed by a period in the US, but not in the UK. In the US, I would go by Mrs. Cain. In the UK, I would be Mrs Cain. Mrs. stems from Mistress which is the feminine form of Mister or Master. In modern English, however, there Mrs. isn’t short for anything; that is, there is no long form of the word.
A woman may retain the Mrs. in front of her name if her husband dies, or if they divorce. Although most people that I know don’t follow this rule; the formal rule about a woman who retains her last name upon marriage or hyphenates her maiden name with her husband’s doesn’t take the Mrs. in front of her name, but I know of many people who do this anyway. Interestingly, when single mothers were becoming more common but not totally accepted by society, it became custom to refer to them as Mrs. so that they wouldn’t be discriminated against.
In the case of lesbian couples who have taken a common last name, Ms. Manners has suggested the following term when addressing both women; Mmes Cain, but Ms. Manners isn’t the boss of how to address people and I know of one couple who go by Mrs. and Mrs.
In summary, if in doubt about a woman’s marital status, refer to her as Ms. unless she expresses a preference.