The main difference between princesses and diplomats are that princesses can marry foreign or national generals whereas diplomats have the special ability to bribe enemy armies. Otherwise, they may both be used to propose treaties or negotiate deals with other factions. At the beginning of the campaign you start with either a diplomat or a princess and need to make good use of them until more agents are recruited. Using the agents often in deals also increases their skill and obviously their chance of obtaining even more favorable deals.
While princesses usually appear in the regions their fathers serve as commanders, diplomats can be trained easier in cities than in castles. The castles eventually get the option to build a library later in the game and can then train diplomats there.
When requesting an audience to a foreign faction, you are shown the diplomacy interface. This contains useful additional information to consider before engaging in deals with the other part. Some of the information displayed on the top left and right of the screen are the two nations statistics, direct relations, reputation and what the other faction is believed to want from yours. This last piece of information is often unknown but throughout negotiations MAY CHANGE unexpectedly. When visible it is a great indication of where you may take negotiations further and negotiate a deal or improve your diplomat's skill. Some people have suggested that having a spy in the region you are engaging in negotiations may improve your chances of knowing your opposition's intentions. I do not have enough evidence at this time to verify this claim but feel free to explore.