Diplomacy's action is:
Changing others’ attitudes with Diplomacy generally takes at least 1 full minute (10 consecutive full-round actions). In some situations, this time requirement may greatly increase. A rushed Diplomacy check can be made as a full-round action, but you take a -10 penalty on the check.
Whereas Charm Person is a standard action and much more usable in combat.
Optional, but not recommended because retries usually do not work. Even if the initial Diplomacy check succeeds, the other character can be persuaded only so far, and a retry may do more harm than good. If the initial check fails, the other character has probably become more firmly committed to his position, and a retry is futile.
Charm person can be recast, and even used after a failed diplomacy. Iterative diplomacy is not strictly impossible by the rules, however the limit is left up to DM interpretation and it makes sense for a Bard to have the spell in case the limit is before that.
Charm person does more than just make your target friendly.
...You can try to give the subject orders, but you must win an opposed Charisma check to convince it to do anything it wouldn’t ordinarily do. (Retries are not allowed.) An affected creature never obeys suicidal or obviously harmful orders, but it might be convinced that something very dangerous is worth doing.
The above section of the charm person spell details giving a command that goes beyond what a normally friendly npc would do. As per diplomacy, a friendly npc would offer limited help and advice but only a Helpful npc should be willing to offer more direct aid or action. Also diplomacy does not allow you to force npcs to obey your commands whereas charm person does for a limited set non suicidal actions.