Universally, a princess may be 1) the daughter of a king; for example, Princesses Elizabeth and Margaret were the daughters of George VI of the United Kingdom; Princess Victoria is the daughter of Carl Gustaf XVI of Sweden. Of course, a daughter of a king may also be a Countess as well as a Princess. Princess Margaret of the UK was also the Countess of Snowdon upon her marriage to Anthony Armstrong-Jones.
2) However, a princess can also be the daughter of a royal duke, who is also a prince; for instance, the Princesses Beatrix and Eugenie are the daughters of the Duke of York, who btw is also Prince Andrew of the UK.
3) A princess (consort) is also the wife of a prince, who may be a royal duke. Thus, Camilla Parker-Bowles, as the wife of Prince Charles while technically a princess is styled the Duchess of Cornwall.
4) Then again, the wife of a non-royal duke is also a duchess, even though he may descend from a royal prince or king from some point in time. For example, Hugh Fitzroy, the 11th Duke of Grafton, descends from England and Scotland's Charles II's third eldest illegitimate son. In 1946, he married Ann Fortune Smith, the current Mistress of the Robes to Queen Elizabeth II. If Hugh Fitzroy is the Duke of Grafton, his wife is the Duchess of Grafton.
Address princess as "Your Royal Highness" upon first greeting her and subsequently call her "Ma'am. which is, btw, the same greeting reserved for a royal duchess. Call a non-royal Duchess either "Grace" or "Duchess". (Vanderbilt 606; 608 )
Whereas, a lady is just a commoner.