The short is answer is yes (and yes), but this issue never fails to confuse thanks to a lack of familiarity with how titles work and the fact that they are rarely represented correctly in the media. Even here I’m guilty of being casual about it – while I might refer to Kate as “the Duchess of Cambridge” I certainly don’t say “HRH The Duchess of Cambridge” and I usually refer to the Queen’s children by the names for which they are best known.
The media’s reasons for using incorrect styling is along the same lines – Kate is Kate and she is best-known to many as “Kate Middleton” despite having been married for seven years now. “Princess Diana” was in fact never correct, while Princes Charles, Andrew and Edward, as well as Princess Anne, are all outdated ways to refer to the Queen’s four children. And while some see referring to members of the Royal Family casually or incorrectly as disrespectful, I am most definitely not one of those people.
Calling Kate, well, Kate is usually used for clarity and familiarity (even, occasionally, affection) and given the international fame of the British Royal Family, a significant number of people reading about these figures don’t understand or particularly care about the nuances of British titles. Thus, there is some confusion over whether or not Kate is in fact a “princess.” You’ll find all too often that people either call her “Princess Kate” or staunchly believe she isn’t a princess at all, but rather a duchess per her title. Both of these are false, but the issue comes up every few years, particularly when William and Kate have children and the birth registration is circulated.
In the document, which William invariably fills out, he lists Kate’s occupation as “Princess of the United Kingdom,” which seems to inspire feverish debate each and every time.
So, yes, Kate is legally a princess. She is a princess because she is married to a prince, plain and simple. On the morning of William and Kate’s wedding day it was announced that the Queen had bestowed on William the title “HRH The Duke of Cambridge,” thus when Kate married him she became “HRH The Duchess of Cambridge.” If the Queen hadn’t offered that title then the correct styling of her married name would have been “HRH Princess William.”
Calling her “Princess Kate” or “Princess Catherine” is also incorrect because the only royals whose Christian names are featured are those born into their position who have not been offered any additional titles. For example, HRH Princess Beatrice of York and HRH Princess Eugenie of York, the daughters of the Duke of York (or HRH The Duke of York, if we want to get technical). Kate’s daughter, a princess of the blood, is HRH Princess Charlotte of Cambridge. Her name will change when her father becomes the Prince of Wales and king, and again if she gets married.
Even “Princess Anne” is actually HRH The Princess Royal, while the Queen is in fact Her Majesty The Queen, not Queen Elizabeth. Both are obviously princesses – and princesses of the blood at that – but they have been “promoted” from the titles they were given at birth.

The Earl of Wessex’s (or “Prince Edward” as he is more commonly known) wife, Sophie, is HRH The Countess of Wessex. She, too, is a princess though no one would ever call her “Princess Edward” and no one ever refers to her as “Princess Sophie.”
As for the men, let’s say Prince William, it’s pretty similar. HRH Prince William of Wales ceased to be correct as of when he married because he was promoted to HRH The Duke of Cambridge – even so, he’s still a prince.

This gets even more fun in cases of divorce – for example, the former wives of the Prince of Wales and Duke of York. In the case of Diana, she was HRH The Princess of Wales when married and Diana, Princess of Wales once divorced. She was famously stripped of her HRH and her name became featured since she was no longer in fact “the” Princess of Wales. Similarly, Sarah Ferguson was HRH The Duchess of York and Sarah, Duchess of York after she was divorced.
So, Meghan: when she marries Prince Harry later this month the Queen is expected to once again bestow a dukedom on the couple, thus making her HRH The Duchess of [TBA]. Legally, she will also be a princess.
As for me, I’ll keep noting a relaxed version of their titles at first mention and then calling them by their first names. Because, let’s be honest, this is really not something to get bent out of shape about. Even the Palace referred to Sarah, Duchess of York incorrectly when announcing the engagement of Princess Eugenie, so it’s apparently the wild west these days!