This was a hot ticket question back when Kate Middleton and Prince William were to be married in 2011. William was born a prince, so when he married Kate, she automatically became a princess.
Technically speaking, however, she’s not “Princess Kate”. Kate is actually Princess William, but since the Queen granted William the dukedom of Cambridge, Kate goes by The Duchess of Cambridge.
You can say “Princess Anne” because Anne was born a princess. It’s incorrect to say “Princess Kate” because she was not born a princess, she simply married a prince.
This was also the case with Prince William’s mother. Diana was The Princess Charles. Since that sounded awkward, she went by The Princess of Wales. Thanks to the shorthand of the media, however, her more popular moniker was “Princess Di”, hence the confusion now.